2009年9月29日火曜日

コマンドライン引数を解析する

getoptモジュールを使う

import getopt
import sys

def main(argv):
    try:
        opts, args = getopt.getopt(argv[1:], "ab:", ["help", "option="])
    except getopt.GetoptError, e:
        print e
        sys.exit(2)

    for o, a in opts:
        if o == "-a":
            print "a"
        elif o == "-b":
            print "b:", a
        elif o == "--help":
            print "help"
        elif o == "--option":
            print "option:", a

    print "args", args

if __name__ == "__main__":
    main(sys.argv)

getopt.getopt(args, options[, long_options])関数の
第2引数は、1文字だけのオプションで
引数が必要な場合は b: のように : を付ける。
第3引数は、2文字以上のオプションで
引数が必要な場合は option= のように = を付ける。

詳細はドキュメントで

0 件のコメント:

コメントを投稿