Python 文件读写

Python是一种广泛使用的编程语言,对于文件的读写操作也提供了很好的支持。本文将介绍Python中文件读写的基本概念和常用的方法,并通过代码示例帮助读者更好地理解。

文件读写的基本流程

在Python中,文件读写的基本流程如下:

  1. 打开文件:使用内置函数open()打开文件,并指定文件的路径和打开模式(读取模式或写入模式)。
  2. 读取文件内容或写入数据:根据打开的模式,使用对应的方法读取文件内容或写入数据。
  3. 关闭文件:使用内置方法close()关闭文件,释放文件资源。

在以上流程中,文件的打开和关闭是必须的步骤,否则可能会导致文件资源无法释放或数据丢失等问题。

文件打开模式

在打开文件时,需要指定文件的打开模式。常用的文件打开模式有以下几种:

  • 'r':只读模式。打开文件后只能读取文件内容,不能写入数据。如果文件不存在,会抛出FileNotFoundError异常。
  • 'w':写入模式。打开文件后可以写入数据,如果文件不存在会创建新文件,如果文件已存在会清空原有数据。如果文件打开时发生错误,会抛出IOError异常。
  • 'a':追加模式。打开文件后可以写入数据,如果文件不存在会创建新文件。如果文件已存在,写入的数据会添加在文件末尾。如果文件打开时发生错误,会抛出IOError异常。
  • 'x':独占模式。打开文件用于写入数据,如果文件已存在会抛出FileExistsError异常。如果文件打开时发生错误,会抛出IOError异常。
  • 'b':二进制模式。以二进制形式读取或写入文件内容。例如,'rb'表示以二进制模式读取文件,'wb'表示以二进制模式写入文件。
  • 't':文本模式。以文本形式读取或写入文件内容。如果省略该模式,默认为文本模式。例如,'rt'表示以文本模式读取文件,'wt'表示以文本模式写入文件。

文件读取方法

Python提供了多种文件读取方法,常用的方法有以下几种:

  • read(size):读取指定大小的数据。如果省略参数size,则读取整个文件的内容。
  • readline():读取文件的一行内容。每次调用该方法会返回文件的下一行,如果已经读取到文件末尾,则返回空字符串。
  • readlines():读取文件的所有行,并返回一个包含所有行内容的列表。
  • seek(offset, whence):在文件中移动指针的位置。参数offset表示偏移量,可以是正数或负数;参数whence指定了偏移量的起始位置,默认为0(文件开头)。移动指针后,可以继续读取文件内容。
  • tell():返回当前指针的位置。

下面是一个文件读取的示例代码:

# 打开文件
file = open('example.txt', 'r')

# 读取整个文件的内容
content = file.read()
print(content)

# 读取文件的一行内容
line = file.readline()
print(line)

# 读取文件的所有行
lines = file.readlines()
print(lines)

# 移动文件指针到指定位置
file.seek(0, 0)

# 关闭文件
file.close()

文件写入方法

Python提供了多种文件写入方法,常用的方法有以下几种:

  • write(string):将字符串写入文件。如果文件不存在,会创建新文件;如果文件已存在,会在文件末尾追加写入内容。
  • writelines(lines):将多行内容写入文件。参数lines是一个包含多行内容的列表或可迭代对象。每行内容会添加换行符('\n')。
  • seek(offset, whence):在文件中移动指针的位置。