Python 追加写入 txt 文件
在日常开发工作中,我们有时需要将一些数据不断地写入到同一个文本文件中,这时就需要掌握如何使用 Python 的追加写入功能。
追加写入的原理
在 Python 中,向文本文件写入内容时,我们可以使用两种方式,一种是覆盖写入,即将原有内容清空,再写入新的内容;另一种是追加写入,即在文件末尾添加新的内容。追加写入的原理是打开文件时使用”a”参数,表示以追加模式打开文件。
代码实现
以下代码展示了如何使用 Python 进行追加写入 txt 文件的操作。
# 以追加模式打开文件
with open('test.txt', 'a') as f:
# 写入新内容
f.write('new content')
以上代码中,首先使用 with open('test.txt', 'a') as f
表示以追加模式打开 test.txt
文件,并将文件对象赋值给变量 f
。然后使用 f.write('new content')
向文件中追加写入新的内容。最后,使用 with
语句,自动关闭文件对象。
追加写入的注意事项
open()
函数的第二个参数必须是字符串"a"
,表示追加模式。- 如果文件不存在,则在追加写入时会自动创建新的文件。
- 追加写入时不会覆盖原有的内容,而是将新内容添加到文件末尾。
- 在追加写入时,不会自动添加文件换行符
\n
,如果需要在每次追加写入后换行,需要手动添加。
完整示例
以下代码展示了如何循环多次向同一个文件进行追加写入,并添加每次写入的时间戳和换行符。
import time
with open('test.txt', 'a') as f:
for i in range(5):
# 计算时间戳
timestamp = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
# 构造内容
content = f'timestamp:{timestamp}, content:{i}\n'
# 追加写入
f.write(content)
以上代码中,使用了 time
模块获取系统时间戳,并将时间戳和循环变量 i
拼接成一个新的字符串 content
。另外,为了在每一次追加写入后换行,手动添加了换行符 \n
。循环 5 次后,test.txt
文件中的内容为:
timestamp:2021-12-31 14:30:30, content:0
timestamp:2021-12-31 14:30:30, content:1
timestamp:2021-12-31 14:30:30, content:2
timestamp:2021-12-31 14:30:30, content:3
timestamp:2021-12-31 14:30:30, content:4
结论
使用 Python 进行追加写入 txt 文件,需要使用 "a"
参数打开文件,然后使用 write()
方法向文件中写入内容。在每次追加写入后,需要手动添加换行符 \n
,并且注意不会自动添加该符号。同时,追加写入时不会覆盖原有的内容,而是将新内容添加到文件末尾。因此,在日常开发工作中,追加写入是一种非常实用的功能。