我正在尝试制作一个简单程序,将文本文件作为输入,然后从该文件中打印出五天的温度预报。我在从分隔字符串中获取要打印的正确值时遇到麻烦。有什么想法我在这里错了吗?我的输出附在下面。
print("File:")
f = input()
a = open(f, 'r')
b = a.read()
c = b.split(',')
a.close()
count = 1
for i in c:
print("Day {}: {}".format(count, c))
count = count + 1
答案 0 :(得分:1)
.close()应该用于文件对象。
您应该使用a.close()关闭文件。
b 是在 a 对象(您的文件)
上执行的“ read()”的字符串解决问题后,如果程序按预期运行,您可以继续尝试。
编辑:
现在您已经解决了这个问题,我认为您还应该考虑其他问题。
在打印语句中,您输出 c 数组,这主要是因为分割了文件的第一行,并且仅分割了第一行。您没有遍历文件行。这就是为什么每天总会得到与输出相同的数组。
如果您的目标是每天打印一个号码,那么您的代码应为:
for i in c:
print("Day {}: {}".format(count, i))
count = count + 1
如果您的目标是对文件中的每一行重复此过程,则应执行以下操作:
for line in f:
#your code