将文本附加到文本文件而不替换它Python [重复]
Posted
技术标签:
【中文标题】将文本附加到文本文件而不替换它Python [重复]【英文标题】:Append text to a Text file without replacing it Python [duplicate] 【发布时间】:2019-12-24 17:45:57 【问题描述】:我是 python 新手,我需要你们的帮助。
这是我的代码
Tk().withdraw()
filename = askopenfilename(title='Choose a file', filetypes=[("Text Files", "*.txt")])
f = open(filename)
with open(filename,'r+',encoding="UTF-8") as file:
file.write('test')
file.write('\n')
file_contents = f.read()
这是没有使用 file.write 的文本文件
Im a big noob in python please help me.
这是在使用 file.write 之后
test
ig noob in python please help me.
我的目标是将文本附加到文本文件的顶部,而不替换它下面的内容。
【问题讨论】:
看看这个答案,它可能会有所帮助:***.com/questions/5914627/… 【参考方案1】:当你write
到一个文件时,它总是有效地覆盖文件流中的字节。您可能想要做的是先读取文件,然后编写必要的部分,然后将原始内容写回:
with open(filename,'r+',encoding="UTF-8") as file:
data = file.read()
file.write('test\n')
file.write(data)
这应该就是您所需要的。删除 f = open(filename)
和 file_contents = f.read()
行,因为您打开同一个文件两次。
【讨论】:
【参考方案2】:只需先复制内容并在开头插入即可,如下所示:
with open(filename,'r+',encoding="UTF-8") as file:
previous_content = file.read()
file.write('test\n' + previous_content)
【讨论】:
以上是关于将文本附加到文本文件而不替换它Python [重复]的主要内容,如果未能解决你的问题,请参考以下文章