【问题标题】:File Input(storing a file)文件输入(存储文件)
【发布时间】:2014-09-17 02:34:24
【问题描述】:
我编写了这段代码,提示用户输入五个不同的测试分数,然后将其保存到 tests.txt 但是当我打开文件 tests.txt 时,它只显示输入的最后一个数字,而不是所有五个数字.导致我的代码有什么问题吗?
代码如下:
scorefile=open('test.txt','w')
for count in range(1,6):
print('Please enter test scores')
score=input('Test score:')
scorefile.write(str(score) + '\n')
scorefile.close()
【问题讨论】:
标签:
python
file
input
storage
【解决方案1】:
这是因为将分数写入文件发生在循环之外,这意味着只写入最后一个值。
您需要将该行移动到循环中,以便写入每个分数:
scorefile=open('test.txt','w')
for count in range(1,6):
print('Please enter test scores')
score=input('Test score:')
scorefile.write(str(score) + '\n')
scorefile.close()
【解决方案2】:
使用'w' 选项打开文件时,每次都会覆盖旧文件。相反,使用
以附加模式打开它
open('test.txt','a')
编辑:@paxdiablo 指出问题中的写入在循环之外,因此我的答案将不起作用。但是,如果您关闭文件,然后想稍后添加,您可以使用附加模式。