首页 > 解决方案 > 为什么我的代码没有显示任何输出?我正在尝试使用 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”的行。

标签: python

解决方案


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

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

推荐阅读