Python3 File writelines() 方法
writelines() 是 Python 中文件对象的一个方法,用于将一个字符串列表(或任何可迭代对象)写入文件。
与 write() 方法不同,writelines() 可以一次性写入多行内容,但不会自动添加换行符。
换行需要制定换行符 \n。
语法
writelines() 方法语法如下:
fileObject.writelines( [ sequence ])
参数
fileObject
:文件对象,通常通过open()
函数打开文件后获得。sequence
:一个可迭代对象(如列表、元组等),其中的每个元素都必须是字符串。返回值:无返回值(返回
None
)。
writelines() 方法将可迭代对象中的所有字符串依次写入文件。写入的位置取决于文件的当前指针位置:
如果文件是以追加模式(
"a"
或"a+"
)打开的,写入的内容会添加到文件末尾。如果文件是以读写模式(
"r+"
或"w+"
)打开的,写入的内容会从当前文件指针的位置开始覆盖原有内容。
返回值
该方法没有返回值。
实例
以下实例演示了 writelines() 方法的使用:
实例
# 使用 with 语句打开文件,确保文件正确关闭
with open("test.txt", "w") as fo:
print("文件名为: ", fo.name)
seq = ["菜鸟教程 1\n", "菜鸟教程 2"]
fo.writelines(seq)
以上实例输出结果为:
文件名为: test.txt
查看文件内容:
$ cat test.txt 菜鸟教程 1 菜鸟教程 2
注意事项
不会自动添加换行符:
writelines()
不会在每行末尾自动添加换行符。如果需要换行,必须在每个字符串中显式添加\n
。
文件模式:
如果文件以只读模式(
"r"
)打开,调用writelines()
会抛出io.UnsupportedOperation
异常。如果文件以写入模式(
"w"
或"w+"
)打开,文件内容会被清空,然后写入新内容。如果文件以追加模式(
"a"
或"a+"
)打开,写入的内容会添加到文件末尾。
文件指针:
写入操作从当前文件指针的位置开始。如果需要从文件开头或特定位置写入,可以使用
seek()
方法移动文件指针。
可迭代对象:
sequence
可以是任何可迭代对象(如列表、元组、生成器等),但其中的每个元素都必须是字符串。
点我分享笔记