本文由腾讯云 社区自动同步,原文地址 https://cloud.tencent.com/developer/article/1540955
在研究TensorFlow代码时发现广泛存在着argparse模块的使用,所以简单地学习下如何使用该模块。
指定参数、可选参数与未解析参数的混合使用
代码语言:txt复制import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument(
'--data_dir',
type=str,
help='Directory for storing input data')
parser.add_argument('integer', type = int, help = 'display an integer')
FLAGS, unparsed = parser.parse_known_args()
#args = parser.parse_args()
if FLAGS.data_dir:
print(FLAGS.data_dir)
if FLAGS.integer:
print(FLAGS.integer)
if unparsed:
print(unparsed)
if __name__ == '__main__':
main()
要点分析
- 使用argparse.ArgumentParser()增加一个解析器对象
- 用add_argument()方法增加一个参数,注意参数前加”–”为可选参数,否则为必选参数
- 使用parse_known_args()方法解析,返回的第一个参数为已解析的对象,第二个为未解析对象. 并且,必须在调用的时候提供unparsed供返回,否则会报
AttributeError: 'tuple' object has no attribute 'op_type'
错误。 - 使用已解析对象即可访问传入参数