首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件输入(存储文件)

文件输入(存储文件)
EN

Stack Overflow用户
提问于 2014-09-17 10:34:25
回答 2查看 98关注 0票数 0

我写了这段代码,提示用户输入五个不同的考试分数,然后将其保存到tests.txt,但当我打开文件tests.txt时,它只显示输入的最后一个数字,而不是所有五个数字。我的代码有什么问题导致了这种情况吗??

代码如下:

代码语言:javascript
复制
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()
EN

回答 2

Stack Overflow用户

发布于 2014-09-17 10:36:10

这是因为将分数写入文件时发生在循环之外,这意味着只写入最后一个值。

您需要将该行移动到循环中,以便写入每个分数:

代码语言:javascript
复制
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()
票数 3
EN

Stack Overflow用户

发布于 2014-09-17 10:37:24

当您使用选项'w'打开文件时,每次都会覆盖旧文件。而应在追加模式下打开它,使用

代码语言:javascript
复制
open('test.txt','a')

编辑:@paxdiablo指出问题中的写在循环之外,因此我的答案不起作用。但是,如果您关闭文件,然后想要添加到它,您可以使用追加模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25881369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档