首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不带参数的Python argparse命令行标志

不带参数的Python argparse命令行标志
EN

Stack Overflow用户
提问于 2011-11-24 22:57:16
回答 2查看 215K关注 0票数 425

如何将可选标志添加到我的命令行参数?

例如:这样我就可以写

代码语言:javascript
复制
python myprog.py 

代码语言:javascript
复制
python myprog.py -w

我试过了

代码语言:javascript
复制
parser.add_argument('-w')

但我刚收到一条错误消息

代码语言:javascript
复制
Usage [-w W]
error: argument -w: expected one argument

我认为这意味着它需要-w选项的参数值。接受旗帜的方式是什么?

我发现http://docs.python.org/library/argparse.html在这个问题上相当不透明。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-24 23:01:57

如您所知,参数w在命令行中的-w之后需要一个值。如果您只是想通过设置变量TrueFalse来翻转开关,那么可以查看here (特别是store_true和store_false)

代码语言:javascript
复制
import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-w', action='store_true')

其中action='store_true'表示default=False

相反,您可以使用action='store_false',这意味着default=True

票数 687
EN

Stack Overflow用户

发布于 2016-05-03 10:07:13

这里有一个快速的方法,除了sys之外不需要任何东西。尽管功能有限:

flag = "--flag" in sys.argv[1:]

如果完整文件名为--flag,则为[1:]

票数 -11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8259001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档