argparse模块详解

来源:互联网 发布:极乐净土网页js代码 编辑:程序博客网 时间:2024/06/06 04:09

argparse实战整体代码结构

1.创建 ArgumentParser() 对象

对象内部可选的参数如下:
class argparse.ArgumentParser(
prog=None,
usage=None,
description=None,
epilog=None,
parents=[],
formatter_class=argparse.HelpFormatter,
prefix_chars=’-‘,
fromfile_prefix_chars=None, argument_default=None,
conflict_handler=’error’,
add_help=True,
allow_abbrev=True)
参数用法见(https://docs.python.org/3/library/argparse.html)

代码如下

 parser = argparse.ArgumentParser(description='GAN for Lyrics Generation')#此处函数内部可加入pro,usage等上述参数

2.调用 add_argument() 方法添加参数

可选参数如下
**ArgumentParser.add_argument(
name or flags…
[, action]
[, nargs]
[, const]
[, default]
[, type]
[, choices]
[, required]
[, help]
[, metavar]
[, dest])
相关名词参数用法见(https://docs.python.org/3/library/argparse.html#the-add-argument-method)

代码如下:

parser.add_argument('--data_file', type=str, required=True,                    help='location of the data corpus')

3.使用 parse_args() 解析添加的参数

args = parser.parse_args()

4.查看parser输出

print(vars(args))

5.写入args.json文件

with open(os.path.join(out_dir, 'args.json'), 'w') as f:        json.dump(vars(args), f)#方便调用文件,而不需要命令行加载

6.加载 args.json文件

with open('./args.json') as f:        ae_args = json.load(f)

关于args的命令,英文说明文档讲的很好,推荐直接看英文文档

https://docs.python.org/3/library/argparse.html#module-argparse
https://docs.python.org/3/howto/argparse.html#id1