没有错误但没有打印任何内容,但如果我在while循环内打印,则会多次打印。我该如何解决?

时间:2016-06-27 14:54:04

标签: python printing while-loop

data = open("t.txt","r")
list1 = []
while True:
    text = data.readline()
    count = {
        "a": [],
        "b": [],
        "c": [],
        "d": []
    }
    for item in count:
        if item in text or "Subject" in text:
            list1.append(text)
data.close()
print(list1)

2 个答案:

答案 0 :(得分:3)

您的while循环似乎是问题所在。它是“真实的” - 因为True总是等于True,你的循环将继续循环。如果您的打印列表1位于循环内,则会打印每个时间。如果它不在循环中,它将永远不会运行。

我会说你可以在循环中添加逻辑来打破它,但我老实说从这段代码中看不出为什么你有外循环。您可能应该只执行FOR循环并继续使用代码。

要确认这一点,只需在循环结束处放置一个“中断”即可退出。一旦确认,我将完全移除外环,除非有理由让它在您的帖子中不可见。

答案 1 :(得分:0)

你的循环是问题,它永远循环!您想循环遍历文件中的文本,例如:

for text in data:
    ...