欢迎访问宙启技术站
智能推送

Python中的文件函数-读取、写入和处理文件的方法

发布时间:2023-06-17 18:53:48

Python是一种流行的编程语言,具有许多文件I/O函数和方法,这些函数和方法使Python成为一种非常方便的文本文件处理工具。本文将介绍Python中的文件函数,包括读取、写入和处理文件的方法。

一. 打开文件

在Python中,使用open()函数打开文件。open()函数返回文件对象,可以用来读取、写入和操作文件。open()函数的第一个参数是文件路径和文件名,第二个参数是打开模式,打开模式有以下几种:

1. “r”:读取模式,打开文件后只能读取文件的内容,文件必须存在。

2. “w”:写入模式,打开文件后可以对文件进行写操作,如果文件不存在则创建,如果文件已经存在则覆盖原有内容。

3. “a”:追加模式,打开文件后可以在文件末尾添加数据,如果文件不存在则创建。

4. “x”:独占模式,打开文件后只能进行写操作,如果文件已经存在则报错。

5. “b”:二进制模式,可以读写二进制文件,例如图片、音频、视频等。

6. “t”:文本模式,可以读写文本文件,例如txt、csv等。

举例说明,代码如下:

f = open("data.txt", "r")

以上代码打开文件data.txt,使用读取模式。

二. 读取文件内容

在Python中,使用file.read()函数读取文件内容,该函数返回整个文件的内容。如果文件大于可用内存,使用该函数会非常耗费资源。

另一种方法是使用file.readline()函数,该函数一次读取一行数据。示例代码如下:

with open("data.txt", "r") as f:
  content = f.readlines()

以上代码将每一行的数据以列表形式返回。

三. 写入文件

在Python中,使用file.write()函数将内容写入到文件中。示例代码如下:

with open("data.txt", "w") as f:
  f.write("Hello, World!")

以上代码将字符串“Hello, World!”写入到文件data.txt中。需要注意的是,使用写操作时会清除文件中原有的数据。

四. 文件定位

在Python中,使用file.seek()函数和file.tell()函数进行文件定位。file.seek()函数用于移动文件指针到指定位置,file.tell()函数用于返回当前文件指针的位置。示例代码如下:

with open("data.txt", "rb") as f:
  f.seek(5)
  print(f.read(10))
  print(f.tell())

以上代码将文件指针移动到第5个字节,并打印从第5个字节开始的10个字节,然后打印当前文件指针的位置。

五. 文件处理

在Python中,使用file.readline()函数可以一次读取一行数据,使用file.write()函数可以将数据写入到文件。因此,我们可以从一个文件中读取数据并将处理后的数据写入到另一个文件中。

举例说明,在原有数据后面添加序号,代码如下:

with open("data.txt", "r") as rf:
  with open("data_modified.txt", "w") as wf:
    i = 1
    for line in rf:
      wf.write("{}: {}".format(i, line))
      i += 1

以上代码读取data.txt中的每一行数据,并在后面添加序号,写入到data_modified.txt中。

六. 文件关闭

在Python中,使用open()函数打开文件后,必须使用file.close()函数关闭文件。未关闭文件会占用系统资源,可能导致其他操作无法进行或出现异常。为了避免忘记关闭文件,可以使用with语句块,在with语句块结束后自动关闭文件。示例代码如下:

with open("data.txt", "r") as f:
  content = f.readlines()
  print(content)