写入功能无效,读取功能有效

时间:2018-09-13 09:02:50

标签: python

当我在此代码中使用写入功能时,什么也没发生,读取工作正常。有什么原因吗?

if userinp == ('save'):
    save = open("save.txt",'r')
    print(save.read())
    save = open("save.txt",'a')
    save.write("pop")

save.txt: 测试

输出: 测试

所需的输出: 弹出

感谢您的不赞成票:)

3 个答案:

答案 0 :(得分:0)

要将b.txt中的“测试”一词替换为“弹出”,请执行以下操作:

if userinp == ('save'):
    save = open("b.txt",'r')
    print(save.read())
    save = open("b.txt",'w')
    save.write("pop")
    save.close()

'a'save = open()的选项将'pop'附加到文件中,'w'选项覆盖内容。

答案 1 :(得分:0)

也许内容在缓冲区中,尚未写入文件。

您可以在写入后添加save.close(),以便将缓冲区刷新到文件中。

或者,您可以执行save.flush()来执行手动刷新而不关闭文件。

答案 2 :(得分:0)

仅供参考:with正在处理“关闭”通话,因此我们不必:

with open('foo.txt', 'w') as f:
    f.write('bar')