Python3 File write() 方法

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


概述

write() 方法用于向文件中写入指定字符串。

在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。

如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错:TypeError: a bytes-like object is required, not 'str'。

语法

write() 方法语法如下:

fileObject.write( [ str ])

参数

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

  • str -- 要写入文件的字符串。

write() 方法将指定的字符串写入文件,写入的位置取决于文件的当前指针位置:

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

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

返回值

返回的是写入的字符长度。

实例

文件 runoob.txt 的内容如下:

1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com

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

实例

#!/usr/bin/python3

# 使用 with 语句打开文件,确保文件正确关闭
with open("runoob.txt", "r+") as fo:
    print("文件名: ", fo.name)

    # 在文件末尾写入一行
    fo.seek(0, 2)  # 将文件指针移动到文件末尾
    fo.write("6:www.runoob.com\n")  # 写入内容并添加换行符

    # 读取文件所有内容
    fo.seek(0)  # 将文件指针移动到文件开头
    for index, line in enumerate(fo):
        print("文件行号 %d - %s" % (index, line.strip()))

以上实例输出结果为:

文件行号 0 - 1:www.runoob.com
文件行号 1 - 2:www.runoob.com
文件行号 2 - 3:www.runoob.com
文件行号 3 - 4:www.runoob.com
文件行号 4 - 5:www.runoob.com
文件行号 5 - 6:www.runoob.com

查看文件内容:

$ cat runoob.txt 
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com
6:www.runoob.com

注意事项

  1. 文件模式

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

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

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

  2. 文件指针

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

  3. 换行符

    • write() 方法不会自动添加换行符。如果需要换行,必须在字符串中显式添加 \n

  4. 返回值

    • write() 方法返回写入的字符数。如果写入失败,可能会抛出异常。


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