メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2008年3月6日木曜日

[Python][お勉強] 「Pythonチュートリアル」を読む(17) -- 標準ライブラリ

今日もPythonお勉強。

10章突入。

osモジュール
OSとやりとりする関数群を提供するモジュール。


>>> dir(os)
['EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', 'EX_IOERR', 'EX_NOHOST',
'EX_NOINPUT', 'EX_NOPERM', 'EX_NOUSER', 'EX_OK', 'EX_OSERR', 'EX_OSFILE',
'EX_PROTOCOL', 'EX_SOFTWARE', 'EX_TEMPFAIL', 'EX_UNAVAILABLE',
'EX_USAGE', 'F_OK', 'NGROUPS_MAX', 'O_APPEND', 'O_CREAT', 'O_DIRECT',
'O_DIRECTORY', 'O_DSYNC', 'O_EXCL', 'O_LARGEFILE', 'O_NDELAY', 'O_NOCTTY',
'O_NOFOLLOW', 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_RSYNC', 'O_SYNC',
'O_TRUNC', 'O_WRONLY', 'P_NOWAIT', 'P_NOWAITO', 'P_WAIT', 'R_OK', 'TMP_MAX',
'UserDict', 'WCONTINUED', 'WCOREDUMP', 'WEXITSTATUS', 'WIFCONTINUED',
'WIFEXITED', 'WIFSIGNALED', 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG',
'WUNTRACED', 'W_OK', 'X_OK', '_Environ', '__all__', '__builtins__', '__doc__', '__file__',
'__name__', '_copy_reg', '_execvpe', '_exists', '_exit', '_get_exports_list', '_make_stat_result',
'_make_statvfs_result', '_pickle_stat_result', '_pickle_statvfs_result', '_spawnvef', 'abort',
'access', 'altsep', 'chdir', 'chmod', 'chown', 'chroot', 'close', 'confstr', 'confstr_names', 'ctermid',
'curdir', 'defpath', 'devnull', 'dup', 'dup2', 'environ', 'error', 'execl', 'execle', 'execlp', 'execlpe',
'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fchdir', 'fdatasync', 'fdopen', 'fork', 'forkpty',
'fpathconf', 'fstat', 'fstatvfs', 'fsync', 'ftruncate', 'getcwd', 'getcwdu', 'getegid', 'getenv', 'geteuid',
'getgid', 'getgroups', 'getloadavg', 'getlogin', 'getpgid', 'getpgrp', 'getpid', 'getppid', 'getsid', 'getuid',
'isatty', 'kill', 'killpg', 'lchown', 'linesep', 'link', 'listdir', 'lseek', 'lstat', 'major', 'makedev', 'makedirs',
'minor', 'mkdir', 'mkfifo', 'mknod', 'name', 'nice', 'open', 'openpty', 'pardir', 'path', 'pathconf',
'pathconf_names', 'pathsep', 'pipe', 'popen', 'popen2', 'popen3', 'popen4', 'putenv', 'read', 'readlink',
'remove', 'removedirs', 'rename', 'renames', 'rmdir', 'sep', 'setegid', 'seteuid', 'setgid', 'setgroups',
'setpgid', 'setpgrp', 'setregid', 'setreuid', 'setsid', 'setuid', 'spawnl', 'spawnle', 'spawnlp', 'spawnlpe',
'spawnv', 'spawnve', 'spawnvp', 'spawnvpe', 'stat', 'stat_float_times', 'stat_result', 'statvfs',
'statvfs_result', 'strerror', 'symlink', 'sys', 'sysconf', 'sysconf_names', 'system', 'tcgetpgrp',
'tcsetpgrp', 'tempnam', 'times', 'tmpfile', 'tmpnam', 'ttyname', 'umask', 'uname', 'unlink',
'unsetenv', 'urandom', 'utime', 'wait', 'waitpid', 'walk', 'write']
>>>
 

といろいろな関数がある。


shutilモジュール
ファイルやディレクトリ管理に便利なモジュール。

>>> dir(shutil)
['Error', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '_samefile', 'abspath', 'copy',
'copy2', 'copyfile', 'copyfileobj', 'copymode', 'copystat', 'copytree', 'destinsrc', 'exceptions', 'move',
'os', 'rmtree', 'stat', 'sys']
>>>
 

2.4.4の環境ではこんな感じ。


globモジュール
シェルで言うワイルドカードをサポートする。
Perlにもあるglob。

sysモジュール
pythonシステム関連のモジュール。コマンドライン引数や、標準入出力などを処理する場合などに使用する。

コマンドライン引数は、

$ cat a.py
import sys
print sys.argv
$ python a.py
['a.py']
$ python a.py 1
['a.py', '1']
$ python a.py 1 2
['a.py', '1', '2']
$
 

な感じ。

標準入出力用にはsys.stdout、sys.stdin、sys.stderrがある。



reモジュール
正規表現関連のモジュール。


>>> dir(re)
['DOTALL', 'I', 'IGNORECASE', 'L', 'LOCALE', 'M', 'MULTILINE', 'S', 'U', 'UNICODE',
'VERBOSE', 'X', '__all__', '__builtins__', '__doc__', '__file__', '__name__', 'compile', 'engine',
'error', 'escape', 'findall', 'finditer', 'match', 'purge', 'search', 'split', 'sub', 'subn', 'template']
>>>
 

などが用意されている。

mathモジュール
Cのmath関連をサポート。


urllib2モジュール
インターネットへのアクセスをサポート。

smtplibモジュール
メール送信をサポート。


datetimeモジュール
日付、時間を簡単に処理できるようにするモジュール。


zlibモジュール
gzipモジュール
bz2モジュール
zipfileモジュール
tarfileモジュール
圧縮関連モジュール。

timeitモジュール
パフォーマンス計測に使えるモジュール。より微細な粒度レベルを見るのに使える。

profileモジュール
pstatsモジュール
パフォーマンス計測に使えるモジュール。timeitよりも大きめのコードブロックを計測するのに
使える。


doctestモジュール
unitestモジュール
テストに使えるモジュール。



その他にもいろいろあるとのこと。



おしまい。
.


0 コメント: