python 命令行传参方法总结
argparse1
import argparse import sys FLAGS = None def main(): print(FLAGS.data_dir) if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--data_dir', type=str, default='input_data', help='Directory for storing input data') FLAGS, unparsed = parser.parse_known_args() main() #tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
argparse2
def main(args): print(args.input_dir) def parse_arguments(argv): parser = argparse.ArgumentParser() parser.add_argument('-I', '--input_dir', type=str, help='Directory with unaligned images.') return parser.parse_args(argv) if __name__ == '__main__': main(parse_arguments(sys.argv[1:]))
gflags
import sys import os import gflags Flags = gflags.FLAGS gflags.DEFINE_string('src_path', 'test', 'path pattern') def main(): print(Flags.src_path) if __name__ == "__main__": Flags(sys.argv) main()
补充:python3 命令行传入参数(cmd -parameter)
1. 新建
cmd_parameter.py
2. 复制如下测试代码到
cmd_parameter.py
import argparse parser = argparse.ArgumentParser(description='manual to this script') parser.add_argument('--string', type=str, default=None) parser.add_argument('--int-input', type=int, default=32) parser.add_argument('--list-input', type=list, default=[1,2,3]) args = parser.parse_args() if __name__ == '__main__': print(args.string) print(args.int_input) print(args.list_input) # 命令行输入这个 # python cmd_parameter.py --string=python --int-input=10 --list-input=123
3. 命令行运行
python cmd_parameter.py --string=python --int-input=10 --list-input=123
以上为个人经验,希望能给大家一个参考,也希望大家多多支持hwidc。