Python gflags
Google有一個叫python-gflags的project, 可以很方便地幫助讀取參數. 使用方法如下.
- 安裝方法
- sudo easy_install --upgrade python-gflags
- 參數種類
- string: 將參數解讀為字串
- bool/boolean: 值可以是0/1, false/true, f/t
- float: 將參數解釋為floating point number. 有兩個optional參數, 可以指定上下限
- integer: 將參數解釋為integer. 有兩個optional參數, 可以指定上下限
- enum: 如果輸入參數在預先設好的這個list裡, 為合法輸入, 否則會發出exception.
- list: 以逗號隔開的一組輸入字串
- spaceseplist: 以space隔開的一組輸入字串
- multistring: 還看不太懂怎麼用.
- multi_int: 還看不太懂怎麼用.
- 使用方法
import gflags FLAGS = gflags.FLAGS # string, 參數意義為"參數名", 預設值, 說明 gflags.DEFINE_string('client_id', None, 'Client Id for authentication.') gflags.DEFINE_string('client_secret', None, 'Client secret for authentication.') gflags.DEFINE_integer('age', None, 'your age in years', lower_bound=0) gflags.DEFINE_boolean('debug', False, 'produces debugging output') gflags.DEFINE_enum('gender', 'male', ['male', 'female'], 'your gender') # 設為required field gflags.MarkFlagAsRequired('client_id') gflags.MarkFlagAsRequired('client_secret') def main(argv): try: argv = FLAGS(argv) except gflags.FlagsError e: print '%s\\nUsage: %s ARGS\\n%s' % (e, sys.argv[0], FLAGS) sys.exit(1) # you can use FLAGS.debug, FLAGS.age, FLAGS.client_id... here if __name__ == '__main__': main(sys.argv)
留言
http://docs.python.org/dev/library/argparse.html