我试图传递bool类型的参数,并在运行代码时运行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
答案 0 :(得分:3)
您应该使用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