用字符进行布尔值判断,踩到的一个小坑

今天在使用argparse库进行传参时,怎么无法获取预期的结果。

测试代码test.py如下:

import argparse

parser = argparse.ArgumentParser(description=u"同步病毒库或补丁库数据")
parser.add_argument("updatetype", type=str, help=u"0:病毒库;1:补丁库")
parser.add_argument("package_ver", type=str, help=u"整包版本号")
args = parser.parse_args()
updatetype, package_ver = args.updatetype, args.package_ver

if updatetype == '0':
print u"同步病毒库"
运行状况:

费劲一番功夫,经同事点拨才知道,get 两个小技能:

1.使用argparse进行传参时,如果需要传入的类型为str,无需加引号

2.字符串加了双层引号是跟加一个引号,值是不相同的。




原文地址:https://www.cnblogs.com/skyer/p/7264108.html