[[PageOutline]] = システム = == スレッドを作る == {{{ #!python import threading import time def process(): while True: print 'x1' time.sleep(3) th = threading.Thread(None, process, None) th.setDaemon(True) th.start() while True: print 'x0' time.sleep(3) }}} == 外部コマンドの実行 == {{{ #!python import os result = os.system('ls -al') print result }}} == コマンド実行の出力の表示 == {{{ #!python import popen2 (child_stdout, child_stdin, child_stderr) = popen2.popen3('ls -al') print child_stdout.read() }}} == 環境変数の表示 == {{{ #!python import os for env in os.environ: print '%s=%s' % (env, os.environ[env]) }}} == シグナルハンドラ == {{{ #!python import signal import sys import time def handler(signum, frame): print 'signal %s' % signum sys.exit(signum) signal.signal(signal.SIGTERM, handler) while True: time.sleep(3) }}} * メインスレッドでハンドラを設定するとファイルのクローズ処理などきちんとしてくれる。 * 設定しないと、保存せずに終わったりする。ので便利。 == コマンド引数 == {{{ #!python import optparse parser = optparse.OptionParser() parser.add_option("-u", "--user", dest="user", help= 'user name') (options, args) = parser.parse_args() if options.user: print options.user else: print parser.print_help() }}} * 自分で作らなくても便利なので最近利用しています。