argparse模块以及其中-和_关系说明

本文介绍了Python内置的argparse模块,用于命令行选项和参数的解析。通过创建ArgumentParser对象,添加参数并解析参数,可以轻松构建用户友好的命令行接口。argparse支持自动生成帮助和错误信息,例如`action='store_true'`使得参数在出现时自动设为True。此外,还讨论了args参数的可选与必选,以及下划线和横线在参数名中的等效性。
摘要由CSDN通过智能技术生成

argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

使用方法主要包含一下三步骤:
1、创建一个解析器——创建 ArgumentParser() 对象
2、添加参数——调用 add_argument() 方法添加参数
3、解析参数——使用 parse_args() 解析添加的参数

import argparse

parser = argparse.ArgumentParser(description='test')

parser.add_argument('--sparse', action='store_true', default=False, help='GAT with sparse version or not.')
parser.add_argument('--seed', type=int, default=72, help='Random seed.')
parser.add_argument('--epochs', type=int, default=10000, help='Number of epochs to train.')

args = parser.parse_args()

常见问题

  • action='store_true’的使用说明

action·- 命令行遇到参数时的动作,默认值是 store。

直接运行python test.py,输出结果False
运行python test.py --sparse,输出结果True

也就是说,action=‘store_true’,只要运行时该变量有传参就将该变量设为True。(需要手动debug调试的,可以在add_add_argument()增加参数时,更改其中的相关属性)

  • args分为可选参数(用–指定)和必选参数(不加–指定)。

如果你定义参数xxx时,没有用–指定,那么该参数为需要在命令行内手动指定。此时即使通过default设置默认参数,也还是会报错。

  • 下划线_和横线-的区别

args.max_episode_len,也没报错,请问这个下划线_和-的区别在哪里呢?
没啥区别,在这里表示同一个意思,-对应_,代码里写的不一样或者都改成一样的都可以,如–max_episode_len,写成–max-episode-len依然可以被调用。

更细致的文档可以参考这位大佬:argparse 模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值