如何追加到文件而不是覆盖它?
当前回答
我总是这样做,
f = open('filename.txt', 'a')
f.write("stuff")
f.close()
它很简单,但非常有用。
其他回答
如果要附加到文件
with open("test.txt", "a") as myfile:
myfile.write("append me")
我们声明了变量myfile以打开名为test.txt的文件。open有两个参数,一个是要打开的文件,另一个是表示要对该文件执行的权限或操作类型的字符串
以下是文件模式选项
Mode Description 'r' This is the default mode. It Opens file for reading. 'w' This Mode Opens file for writing. If file does not exist, it creates a new file. If file exists it truncates the file. 'x' Creates a new file. If file already exists, the operation fails. 'a' Open file in append mode. If file does not exist, it creates a new file. 't' This is the default mode. It opens in text mode. 'b' This opens in binary mode. '+' This will open a file for reading and writing (updating)
Python有三种主要模式的多种变体,这三种模式是:
'w' write text
'r' read text
'a' append text
因此,要附加到文件,很简单:
f = open('filename.txt', 'a')
f.write('whatever you want to write here (in append mode) here.')
还有一些模式只会使代码行数更少:
'r+' read + write text
'w+' read + write text
'a+' append + read text
最后,有两种二进制格式的读/写模式:
'rb' read binary
'wb' write binary
'ab' append binary
'rb+' read + write binary
'wb+' read + write binary
'ab+' append + read binary
当我们使用这行open(文件名,“a”)时,a表示附加文件,这意味着允许向现有文件插入额外的数据。
您可以使用以下行将文本附加到文件中
def FileSave(filename,content):
with open(filename, "a") as myfile:
myfile.write(content)
FileSave("test.txt","test1 \n")
FileSave("test.txt","test2 \n")
“a”参数表示追加模式。如果你不想每次都使用open,你可以很容易地编写一个函数来实现:
def append(txt='\nFunction Successfully Executed', file):
with open(file, 'a') as f:
f.write(txt)
如果您想在结尾以外的其他地方写作,可以使用“r+”†:
import os
with open(file, 'r+') as f:
f.seek(0, os.SEEK_END)
f.write("text to add")
最后,“w+”参数赋予了更多的自由。具体来说,它允许您在文件不存在时创建该文件,以及清空当前存在的文件的内容。
†该功能的积分归@Primusa
我总是这样做,
f = open('filename.txt', 'a')
f.write("stuff")
f.close()
它很简单,但非常有用。
推荐文章
- Python创建一个列表字典
- 从函数中获取文档字符串
- VSCode——如何设置调试Python程序的工作目录
- 定义类型的区别。字典和字典?
- 如何做一个递归子文件夹搜索和返回文件在一个列表?
- Python请求发送参数数据
- 只用一次matplotlib图例标记
- 如何获得退出代码时使用Python子进程通信方法?
- 以编程方式将图像保存到Django ImageField中
- Java“虚拟机”vs. Python“解释器”的说法?
- 不能与文件列表一起使用forEach
- 检查环境变量是否存在的良好实践是什么?
- 在安装eventlet时,命令“gcc”失败,退出状态为1
- 连接一个NumPy数组到另一个NumPy数组
- 如何在Python中使用自定义消息引发相同的异常?