while循环不会由于空字符串而终止

时间:2019-10-30 22:37:20

标签: python

循环不会终止,因为temp变量始终会收到一个空字符串,该字符串永远不会为假。如何避免这种情况?

city_temp = []
temp = mean_temp.readline().strip().split(",")
while temp:
    city_temp.append(temp)

    temp = mean_temp.readline().strip().split(",")

2 个答案:

答案 0 :(得分:1)

问题不是空字符串不是假的(它们是)。问题是[''](一个包含空字符串的列表)不是错误的。为什么不将字符串读入变量并检查其是否为空,而不是立即将其拆分?

city_temp = []
line = mean_temp.readline().strip()
while line:
    city_temp.append(line.split(','))
    line = mean_temp.readline().strip()

答案 1 :(得分:-1)

看起来您的“临时”是一个列表,如果不为空,则其值为True。

您可以使用类似的东西吗?

for t in temp:
    city_temp.append(t)