为什么我的代码没有显示任何输出?我正在尝试使用while循环来调试我在它之前遇到的错误

f = file.readlines()
l = 0
while l <= len(f):
    for i in range(l):
        x = f[i]
        l += 1
        for a in x:
            if a == "a":
                f.pop(i)
                break
            else:
                continue
print(f)
file.close()

我想从其中包含任何字符 'a' 的数据中弹出任何行。

回答

您不需要管理自己的行计数器并逐个字符地遍历每一行。文件本身是可迭代的,无需使用readlines,并且in运算符会立即告诉您是否"a"是给定行中的字符。

with open("filename") as f:
    for line in f:
        if "a" in line:
            print(line, end="")  # line already ends with a newline


以上是为什么我的代码没有显示任何输出?我正在尝试使用while循环来调试我在它之前遇到的错误的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>