我的脚本中有些if语句有问题。我使用./iojson.py "nodev"
从终端运行,但是代码仍然执行"enum"
或"snum"
的if语句,这导致脚本由于NameError
而停止。你知道吗
代码如下:
devicelist = sys.argv[1]
if devicelist == "snum" or "enum":
if devicelist == "snum":
print("It executed snum")
with open('SNUM.txt') as f:
content = f.readlines()
if devicelist == "enum":
print("It executed enum")
with open('ENUM.txt') as f:
content = f.readlines()
content = [x.strip() for x in content]
devices = ''.join(content)
data['attachments'].append({
'fields' : [{
'title' : 'Serial numbers:',
'value' : devices
}]
})
elif devicelist == "nodev":
print("It executed nodev")
pass
执行后,响应为:
Traceback (most recent call last):
File "./iojson.py", line 43, in <module>
content = [x.strip() for x in content]
NameError: name 'content' is not defined
但我的理解是,它本来就不应该到达content
变量。我做错什么了?你知道吗
永远都是真的。你知道吗
编译器将检查以下内容:
第一个检查是
False
,而将"enum"
强制转换为布尔值的第二个检查总是True
。你知道吗解决方法:
相关问题 更多 >
编程相关推荐