Python3 File(文件)方法详解
                           
天天向上
发布: 2025-03-14 23:02:31

原创
384 人浏览过

Python 提供了丰富的文件操作方法,用于处理文件的打开、读取、写入、关闭等操作。在 Python 中,通过内置的 open() 函数打开文件,返回一个文件对象,该对象可以使用多种方法来处理文件。

下面是 Python3 中常见的文件方法及其详细说明。


1. open() 方法

open() 函数用于打开一个文件,并返回一个文件对象。它接受两个主要参数:文件路径和打开模式。

语法:

file = open("file_path", "mode")
  • file_path:文件路径(可以是相对路径或绝对路径)。
  • mode:打开文件的模式(默认为 'r',即读取模式)。

常见打开模式:

  • 'r':只读模式,文件必须存在。
  • 'w':写入模式,若文件不存在则创建文件,若文件存在则覆盖文件内容。
  • 'a':追加模式,若文件不存在则创建文件,若文件存在则在末尾追加内容。
  • 'b':二进制模式(如图片、音频文件等),通常与其他模式一起使用,如 'rb''wb'
  • 'x':排他性创建模式,如果文件已存在,操作会失败。
  • 't':文本模式(默认模式)。
  • 'rt''wt':读取和写入文本文件(默认模式,通常省略)。

示例:

# 打开文件用于写入(覆盖文件内容)
file = open("example.txt", "w")

2. read() 方法

read() 方法用于读取文件的内容。可以读取整个文件,或者指定读取的字节数。

语法:

content = file.read(size=-1)
  • size:指定读取的字节数。如果未指定或指定为 -1,则读取整个文件内容。

示例:

file = open("example.txt", "r")
content = file.read()  # 读取整个文件内容
print(content)
file.close()

3. readline() 方法

readline() 方法用于读取文件的一行内容。每次调用 readline() 时,会读取文件的下一行,直到文件末尾。

语法:

line = file.readline()

示例:

file = open("example.txt", "r")
line = file.readline()  # 读取文件的第一行
print(line)
file.close()

逐行读取:

file = open("example.txt", "r")
for line in file:
    print(line.strip())  # strip() 用于去除行末的换行符
file.close()

4. readlines() 方法

readlines() 方法用于一次性读取文件的所有行,并将其作为列表返回。每个元素对应文件中的一行。

语法:

lines = file.readlines()

示例:

file = open("example.txt", "r")
lines = file.readlines()  # 读取所有行,返回一个列表
print(lines)
file.close()

5. write() 方法

write() 方法用于向文件写入数据。写入的内容必须是字符串类型。如果文件以 'w''a' 模式打开,调用 write() 会将数据写入文件。

语法:

file.write(string)

示例:

file = open("example.txt", "w")
file.write("Hello, World!")  # 写入字符串
file.close()

6. writelines() 方法

writelines() 方法用于将一个序列(如列表或元组)中的所有元素写入文件。每个元素必须是字符串类型。

语法:

file.writelines(sequence)

示例:

lines = ["Hello, World!\n", "Welcome to Python!\n"]
file = open("example.txt", "w")
file.writelines(lines)  # 将列表中的所有字符串写入文件
file.close()

7. seek() 方法

seek() 方法用于移动文件指针到文件的指定位置。它常常与 tell() 方法结合使用,用于控制文件读取的位置。

语法:

file.seek(offset, whence=0)
  • offset:表示文件指针要移动的字节数。
  • whence:表示从哪里开始计算,常用值有:
  • 0:表示从文件开头开始计算(默认值)。
  • 1:表示从当前位置开始计算。
  • 2:表示从文件末尾开始计算。

示例:

file = open("example.txt", "r")
file.seek(0)  # 将文件指针移动到文件开头
content = file.read()
print(content)
file.close()

8. tell() 方法

tell() 方法用于返回当前文件指针的位置。

语法:

position = file.tell()

示例:

file = open("example.txt", "r")
print(file.tell())  # 输出当前文件指针的位置
file.read(10)       # 读取前 10 个字符
print(file.tell())  # 输出文件指针的位置
file.close()

9. flush() 方法

flush() 方法用于刷新缓冲区,将缓冲区中的内容写入文件。在写入大量数据时,flush() 可以强制将数据写入文件,而不必等到文件关闭。

语法:

file.flush()

示例:

file = open("example.txt", "w")
file.write("Hello, World!")
file.flush()  # 强制刷新缓冲区,将数据写入文件
file.close()

10. close() 方法

close() 方法用于关闭文件。关闭文件后,文件对象不再有效,无法进行读写操作。

语法:

file.close()

示例:

file = open("example.txt", "r")
content = file.read()
file.close()  # 关闭文件

11. 上下文管理器(使用 with 语句)

Python 提供了上下文管理器来自动管理文件的打开和关闭,避免忘记关闭文件。with 语句可以确保在文件操作完成后,自动关闭文件。

示例:

with open("example.txt", "r") as file:
    content = file.read()
    print(content)
# 无需手动调用 file.close(),文件在代码块结束时自动关闭

总结

Python 提供了一系列的文件操作方法,帮助你高效地处理文件内容。这些方法包括读取、写入文件内容的 read(), readline(), write(), writelines() 等,还包括文件指针管理的 seek()tell(),以及文件的自动关闭机制 with

更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *