加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

知道在使用Python的argparse时用户是否指定了参数

发布时间:2020-12-16 21:31:51 所属栏目:Python 来源:网络整理
导读:假设我使用argparse进行了 python测试,其中有几个参数: IP(默认值:127.0.0.1) enabled_features(默认值:[A,B,C]) 有时候,我想更改默认的enabled_features,让我们说[A,C,D]: 取决于我需要知道IP的东西(所以它不能真正成为argparse默认值的默认值) 只有当
假设我使用argparse进行了 python测试,其中有几个参数:

> IP(默认值:127.0.0.1)
> enabled_features(默认值:[A,B,C])

有时候,我想更改默认的enabled_features,让我们说[A,C,D]:

>取决于我需要知道IP的东西(所以它不能真正成为argparse默认值的默认值)
>只有当用户没有指定“enabled_features”时…这就是我无法知道的!

那么在argparse类中是否有一个属性可以知道:

opts = parser.parse_args()

……一个参数实际上是由用户指定的,即一个人使用了类似的东西:

$python my_test.py --enabled_features A B C

并不是:

$python my_test.py

谢谢!

解决方法

opts包含argparse可以为您提供的所有信息.因此,您必须测试某些默认值(最常见的是None),或者缺少属性(如果default = argparse.SUPPRESS).

另一种方法是指定合理的默认值,而不用担心用户是否在输入中指定了这些或其他值.哪个更重要,用户是指定了值还是值本身?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读