无法在文本文件中添加新行而不删除其他所有行

2 投票
2 回答
4157 浏览
提问于 2025-04-16 08:08

我想在一个简单的文本文件末尾添加新的一行,但我做不到。我有一个循环,每次循环时我想在这个文件的末尾添加一行新文本,但每次添加新的一行时,之前的所有文本都会被删除,只剩下这一行。

这是我的代码:

for item in items: 
    doc = open('mapData.txt', 'r+')
    doc.write(item)

顺便说一下,我使用的是Python。

提前谢谢你,
詹姆斯·埃格斯。

2 个回答

3

试着以“追加”模式打开文件:

for item in items: 
doc = open('mapData.txt', 'a')
doc.write(item)
3

使用 'a'(追加)模式可以把你写的内容加到文件的末尾,而不是把文件里的内容清空。

另外,你可能想在循环外打开文件,然后在循环结束后再关闭它(使用 with open(...) as f: ... 这样的写法会更好)。

撰写回答