我正在一个for-a循环中编写一个带有if-else
条件的简单Python脚本,方法是从文本文件逐行读取输入下面是我的剧本。
我应该得到预期的结果请帮忙!
我的env.txt包含:
DEV01
DEV02
UAT01
UAT02
代码如下:
with open("env.txt") as envnames:
for eachenv in envnames:
if eachenv=="DEV01" or "DEV02":
eachenv="dev"
print (eachenv)
elif eachenv=="UAT01" or "UAT02":
eachenv="uat"
print(eachenv)
else :
print('')
预期:
dev
dev
uat
uat
实际:
dev
dev
dev
dev
最佳答案
问题是if eachenv=="DEV01" or "DEV02"
。
你不能这样检查。如果True
则结果为eachenv=="DEV01"
,否则结果为"DEV02"
,而不是False
。
你应该这样走:
if eachenv in ["DEV01", "DEV02"]:
也将
for eachenv in envnames:
更改为:for eachenv in envnames.readlines():