python - for循环中的if-else在python中不起作用

标签 python file for-loop if-statement

我正在通过从文本文件中逐行读取输入,在 for 循环中使用 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"

你不能这样检查。如果 eachenv=="DEV01",结果将为 True,否则结果将为 "DEV02",而不是 False。 你应该这样走:

if eachenv in ["DEV01", "DEV02"]:

同时将 for eachenv in envnames: 更改为:

for eachenv in envnames.readlines():

关于python - for循环中的if-else在python中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54267307/

相关文章:

python - 如何使用 grequests 发出 HTTP POST 请求

c - 无效参数读写文件

iphone - 在运行同一应用程序的两个 iOS 设备之间传输对象的最佳方式是什么?

javascript - 使用 False 打破 JavaScript 'For' 循环?

python - 如何使用 numpy 和 portaudio 提取低音、中高音

python - 在Python中将每日数据汇总并求和到每月

python - 使用 unicode 以任何语言保存文件

golang 文件上传失败

python - 如何用另一个列表中的字典值填充一个列表中的字典值?

javascript - For Loop/Each Loop变量存储和比较(jQuery或Javascript