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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持免费资源网。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容