use*_*960 3 python for-loop if-statement file
我正在if-else通过从文本文件中逐行读取输入来编写一个简单的Python脚本,其中包含for循环中的条件.下面是我的脚本.我应该得到预期的输出.请帮忙!我的env.txt包含:
DEV01
DEV02
UAT01
UAT02
Run Code Online (Sandbox Code Playgroud)
这是代码:
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('')
Run Code Online (Sandbox Code Playgroud)
预期:
dev
dev
uat
uat
Run Code Online (Sandbox Code Playgroud)
实际:
dev
dev
dev
dev
Run Code Online (Sandbox Code Playgroud)
问题是if eachenv=="DEV01" or "DEV02".
你不能这样检查.结果将是True,eachenv=="DEV01"否则rusult将"DEV02",而不是False.你应该这样:
if eachenv in ["DEV01", "DEV02"]:
Run Code Online (Sandbox Code Playgroud)
也for eachenv in envnames:改为:
for eachenv in envnames.readlines():
Run Code Online (Sandbox Code Playgroud)