This question already has answers here:
Parsing boolean values with argparse
(15个答案)
6个月前关闭。
我试图传递布尔类型的参数,并在运行代码时运行
我试图将其更改为
即使我使用以下代码启动,它也会打印
现在,
然后,您可以将条件更改为:
更多阅读-here
(15个答案)
6个月前关闭。
我试图传递布尔类型的参数,并在运行代码时运行
python main.py --tcpip=False
。这对我不起作用。我试图将其更改为
str
类型,并且工作完全正常。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)
即使我使用以下代码启动,它也会打印
True
python main.py --tcpip=False
最佳答案
您应该使用action
参数:
parser.add_argument("--tcpip",action='store_false',help='transfer data via tcp/ip')
现在,
tcpip
的值默认为True,并且当使用参数--tcpip
运行时,该值将更改为False。>>> python main.py
True
>>> python main.py --tcpip
False
然后,您可以将条件更改为:
if args.tcpip:
send_data(count)
更多阅读-here
关于python - bool 类型的Argparse ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56669868/
10-12 20:12