【问题标题】: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 指出问题中的写入在循环之外,因此我的答案将不起作用。但是,如果您关闭文件,然后想稍后添加,您可以使用附加模式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-06
        • 1970-01-01
        • 1970-01-01
        • 2021-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多