Python基础教程(Python 文件I/O)

在 Python 中,文件输入 / 输出(I/O)操作是非常重要的,它允许你读取和写入文件,与外部数据进行交互。以下是 Python 文件 I/O 的详细介绍:

1. 打开文件

在 Python 中,使用open()函数来打开一个文件。该函数接受两个主要参数:文件名和打开模式。
# 打开一个文件
file = open('example.txt', 'r')  # 'r' 表示以只读模式打开文件

常见的打开模式有:
  • 'r':只读模式,默认值。如果文件不存在,会抛出FileNotFoundError异常。
  • 'w':写入模式。如果文件已存在,会清空文件内容;如果文件不存在,会创建一个新文件。
  • 'a':追加模式。如果文件已存在,会在文件末尾追加内容;如果文件不存在,会创建一个新文件。
  • 'x':创建模式。如果文件已存在,会抛出FileExistsError异常;如果文件不存在,会创建一个新文件。
  • 'b':二进制模式,可以与其他模式结合使用,如'rb'(二进制只读模式)、'wb'(二进制写入模式)。
  • 't':文本模式,默认值,可以与其他模式结合使用,如'rt'(文本只读模式)。

2. 读取文件

有几种方法可以读取文件内容:

2.1 read()方法

read()方法用于读取整个文件内容。
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()  # 关闭文件

2.2 readline()方法

readline()方法用于读取文件的一行内容。
file = open('example.txt', 'r')
line = file.readline()
while line:
    print(line)
    line = file.readline()
file.close()

2.3 readlines()方法

readlines()方法用于读取文件的所有行,并返回一个包含每行内容的列表。
file = open('example.txt', 'r')
lines = file.readlines()
for line in lines:
    print(line)
file.close()

3. 写入文件

使用write()方法向文件中写入内容。
# 以写入模式打开文件
file = open('example.txt', 'w')
file.write('Hello, World!\n')
file.write('This is a test.\n')
file.close()

4. 追加文件

使用a模式打开文件,然后使用write()方法追加内容。
# 以追加模式打开文件
file = open('example.txt', 'a')
file.write('This is an appended line.\n')
file.close()

5. 使用with语句

为了避免忘记关闭文件,可以使用with语句。with语句会在代码块执行完毕后自动关闭文件。
# 读取文件
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

# 写入文件
with open('example.txt', 'w') as file:
    file.write('New content.\n')

6. 二进制文件操作

对于二进制文件(如图片、音频等),需要使用二进制模式('b')。
# 读取二进制文件
with open('image.jpg', 'rb') as file:
    data = file.read()

# 写入二进制文件
with open('new_image.jpg', 'wb') as file:
    file.write(data)

7. 文件指针操作

可以使用seek()方法移动文件指针的位置,使用tell()方法获取当前文件指针的位置。
with open('example.txt', 'r') as file:
    # 获取当前文件指针位置
    position = file.tell()
    print(f'Initial position: {position}')

    # 移动文件指针到第5个字节的位置
    file.seek(5)
    position = file.tell()
    print(f'New position: {position}')

    # 读取从当前位置开始的内容
    content = file.read()
    print(content)

以上就是 Python 文件 I/O 的基本操作。通过这些方法,你可以方便地读取和写入文件,处理各种类型的数据。

posted on 2025-03-08 10:04  数据与人文  阅读(39)  评论(0)    收藏  举报