Python3 File writelines() 方法

Python3 File(文件) 方法 Python3 File(文件) 方法


writelines() 是 Python 中文件对象的一个方法,用于将一个字符串列表(或任何可迭代对象)写入文件。

write() 方法不同,writelines() 可以一次性写入多行内容,但不会自动添加换行符。

换行需要制定换行符 \n

语法

writelines() 方法语法如下:

fileObject.writelines( [ sequence ])

参数

  • fileObject:文件对象,通常通过 open() 函数打开文件后获得。

  • sequence:一个可迭代对象(如列表、元组等),其中的每个元素都必须是字符串。

  • 返回值:无返回值(返回 None)。

writelines() 方法将可迭代对象中的所有字符串依次写入文件。写入的位置取决于文件的当前指针位置:

  • 如果文件是以追加模式("a""a+")打开的,写入的内容会添加到文件末尾。

  • 如果文件是以读写模式("r+""w+")打开的,写入的内容会从当前文件指针的位置开始覆盖原有内容。

返回值

该方法没有返回值。

实例

以下实例演示了 writelines() 方法的使用:

实例

#!/usr/bin/python3

# 使用 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

注意事项

  1. 不会自动添加换行符

    • writelines() 不会在每行末尾自动添加换行符。如果需要换行,必须在每个字符串中显式添加 \n

  2. 文件模式

    • 如果文件以只读模式("r")打开,调用 writelines() 会抛出 io.UnsupportedOperation 异常。

    • 如果文件以写入模式("w""w+")打开,文件内容会被清空,然后写入新内容。

    • 如果文件以追加模式("a""a+")打开,写入的内容会添加到文件末尾。

  3. 文件指针

    • 写入操作从当前文件指针的位置开始。如果需要从文件开头或特定位置写入,可以使用 seek() 方法移动文件指针。

  4. 可迭代对象

    • sequence 可以是任何可迭代对象(如列表、元组、生成器等),但其中的每个元素都必须是字符串。


Python3 File(文件) 方法 Python3 File(文件) 方法