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
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- python argparse的使用步驟(全網最全)
- Python命令行解析器argparse詳解
- python argparse命令行參數解析(推薦)
- Python argparse 解析命令行參數模塊詳情
- python argparse模塊傳參用法實例