如何在python中的函数中编写循环?

时间:2019-10-01 09:38:45

标签: python

我试图创建一个函数,该函数读取文件中的所有行,然后根据行中是否有“错误”来为每行打印true / false。

我做了一个,它在大多数情况下都有效,但是似乎随机跳过了文件中的行。我不明白为什么。如果我写

for line in f:
    print(line)

然后我就知道了。

def findErr(sensor):
    for line in f:
         print(line)

然后我随机丢失行。尽管如此,该函数的布尔部分仍然可以正常工作。它只是不会阅读所有行。我不明白为什么。

以防万一,这就是整个事情。

f = open("sensors.txt", "r")
def findErr(sensor):
    for line in f:
        sensorline = line.split(";")
        sensor=sensorline[0]
        if "Error" in line:
            Error = True
        if not "Error" in line:
            Error = False
        return(sensor, Error)

for line in f:
    (sErrors) = findErr(line)
    print(sErrors)

在打印输出结束时,我还会得到一个随机的“无”值。 Idk这是什么。

1 个答案:

答案 0 :(得分:0)

您正在脚本和函数中循环浏览。 在每一行调用函数时,无需在函数中再次进行此循环

/scripts/builder/

应该做你想做的(如果我理解正确的话)