python 命令行传参的几种方法

文章目录

    • @[toc]
  • argparse1
  • argparse2
  • gflags

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()


你可能感兴趣的:(python)