argparse模块基本用法

原文链接:https://zhuanlan.zhihu.com/p/111010774

action=“store_true”这个怎么理解?
有了action这一参数,就相当于把–train参数设成了一个“开关”。我们是不需要给这个开关传递具体的值的,只需要“拨一下”这个开关就行了。
action=“store_true”,就是说当拨动了这个“开关”,就将参数–train存储为True,否则参数会存储为False,因为我们设置的default=False

小番外:argparse模块基本用法

由于本专栏参考了tensorflow官方的示例代码,代码中有部分关于argparse知识的内容。因此这里稍微进行说明。

argparse说来其实很简单。

一般来说,我们直接执行python文件,例如在控制台执行py文件,我们是不能控制的。

argparse的作用就是:允许我们在外部使用python文件的时候,传入参数。


例如上图中,执行tutorial_AC.py文件,在文件后加上“——”,带入参数train

那train这个参数代表什么呢? 我们看示例代码中,其实分为训练和测试两部分。

if args.train:
    ...

if args.test:

我们可以通过设置argparse,在执行的时候就把参数train传入,控制我们需要执行的部分。

示例代码解释

# add arguments in command  --train/test
parser = argparse.ArgumentParser(description=‘Train or test neural net motor controller.’)
parser.add_argument(’–train’, dest=‘train’, action=‘store_true’, default=False)
parser.add_argument(’–test’, dest=‘test’, action=‘store_true’, default=True)
args = parser.parse_args()

明白之后,大家理解代码也很简单了。

  1. 我们需要定义parser, 可以把parser看成是一个解释器。把我们在外部传入的命令,变成我们代码中的参数。
  2. 在parser加入参数add_argument
  • 首先,我们需要定义外部命令,如 ‘–train’,’–test’。只有定义了的才是合法的命令。
  • 然后,需要用一个参数对应命令: dest=‘train’ ,这就是为一个命令增加对应的参数,以供我们代码中调用。
  • 另外,需要注意default,默认设置,就是当执行py文件时,如果没有带入参数,那么按照默认设置执行。在示例代码中,会有默认为test的,所以有同学会在执行时,发现没有训练就是因为这个原因。
  1. 我们可以用.parse_args(),获取所有的参数。并赋值给args
  2. 通过args调用参数。例如在示例代码中: args.train

=你的支持,就是在下努力的原动力=

如果专栏对你有用,请点赞并关注在下喔。如果发现有问题,也可以在文章下留言。

你的每一点关注,都是在下的继续努力的动力来源!感激!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
argparse模块是Python标准库中用于解析命令行参数和选项的工具。它提供了一个简单而灵活的方式来定义命令行接口,并自动生成帮助信息。 下面是argparse模块基本用法示例: ```python import argparse # 创建ArgumentParser对象 parser = argparse.ArgumentParser(description='这是一个示例程序') # 添加命令行参数 parser.add_argument('input_file', help='输入文件路径') parser.add_argument('output_file', help='输出文件路径') parser.add_argument('-v', '--verbose', action='store_true', help='显示详细信息') # 解析命令行参数 args = parser.parse_args() # 使用解析后的参数 print(f'输入文件路径:{args.input_file}') print(f'输出文件路径:{args.output_file}') if args.verbose: print('显示详细信息') ``` 在上面的示例中,我们首先导入argparse模块,然后创建了一个ArgumentParser对象。我们使用`add_argument()`方法添加了三个命令行参数和选项:`input_file`、`output_file`和`-v/--verbose`。其中,`input_file`和`output_file`是位置参数,必须按照顺序提供;`-v/--verbose`是一个可选的开关选项。 然后,我们使用`parse_args()`方法解析命令行参数,并将解析结果赋值给`args`变量。我们可以通过访问`args`对象的属性来获取命令行参数的值。最后,我们根据需要使用这些参数进行相应的操作。 你可以根据实际需求使用argparse模块定义更复杂的命令行接口,包括添加更多参数类型、设置默认值、限制输入等。详细的用法可以参考argparse模块的官方文档。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值