当我在此代码中使用写入功能时,什么也没发生,读取工作正常。有什么原因吗?
if userinp == ('save'):
save = open("save.txt",'r')
print(save.read())
save = open("save.txt",'a')
save.write("pop")
save.txt: 测试
输出: 测试
所需的输出: 弹出
感谢您的不赞成票:)
答案 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')