首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >布尔型参数解析器

问布尔型参数解析器
EN

Stack Overflow用户
提问于 2019-06-19 22:17:02
回答 1查看 74关注 0票数 1

我尝试传递bool类型的参数,并在运行代码时运行python main.py --tcpip=False。这对我不起作用。

我尝试将它更改为str类型,它工作得非常好。

代码语言:javascript
复制
import argparse
parser = argparse.ArgumentParser(description="SSD and Gender Detection")
parser.add_argument("--tcpip",default = "True",type=str,help='transfer data via tcp/ip')
args = parser.parse_args()
print(args.tcpip)

if __name__ == '__main__':

    if(args.tcpip == "True"):
        send_data(count)

即使我用python main.py --tcpip=False启动代码,它也会打印True

EN

回答 1

Stack Overflow用户

发布于 2019-06-19 22:20:43

您应该使用action参数:

代码语言:javascript
复制
    parser.add_argument("--tcpip",action='store_false',help='transfer data via tcp/ip')

现在,默认情况下tcpip的值为True,当使用参数--tcpip运行时,该值将更改为False。

代码语言:javascript
复制
>>> python main.py
True
>>> python main.py --tcpip
False

然后,您可以将条件更改为:

代码语言:javascript
复制
if args.tcpip:
    send_data(count)

更多阅读- here

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

https://stackoverflow.com/questions/56669868

复制
相关文章

相似问题

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