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

在 Python 中如何使用文件操作函数 open 打开并操作文件?

发布时间:2023-05-20 04:22:03

在 Python 中,文件操作通常使用 open() 函数,这个函数能够打开特定的文件,并可选择读取或修改文件内容。本文将介绍如何使用 open() 函数来打开并操作文件。

打开文件

要操作一个文件,首先需要打开该文件。我们可以使用 open() 函数来打开一个文件。open() 函数有两个参数,一个是文件的路径和名称,另一个则是打开文件的模式。

语法:

f = open(file, mode)

mode 参数使用的值有以下几种:

- r 以只读方式打开文件。文件的当前指针位于文件的开头。如果文件不存在,将会发生错误。

- w 以写入方式打开文件。文件的当前指针位于文件的开头。如果文件不存在,将会创建一个新文件。如果文件已经存在,该函数将会截断文件。

- a 以追加方式打开文件。文件的当前指针位于文件的末尾。如果文件不存在,将会创建一个新文件。

- x 以独占方式打开文件。如果文件已经存在,该函数将会返回一个错误。

- b 二进制模式。

- t 文本模式。

- + 打开文件以进行更新(读取和写入)。

例如,我们想要打开文件 test.txt 并读取其中的内容,可以写代码:

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

这会打开文件 test.txt 以只读模式,然后存储在变量 f 中。现在我们可以使用 f 变量访问文件。

读取文件

当我们打开文件之后,可以使用以下文件操作函数读取文件的内容。

1. read() 函数

read() 函数从文件的当前指针处读取数据。如果在打开文件后首次调用 read() 函数,则文件的当前指针位于文件的开头,即从文件的开始处读取数据。执行 read() 函数后,文件的当前指针指向被读取数据的末尾。read() 函数的参数可以指定读取的字节数。如果没有指定参数,read() 函数将会尝试读取整个文件。如果文件很大,则可能会导致内存错误。

例如,我们想要读取文件 test.txt 的全部内容,可以写代码:

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

print(f.read())

输出:

this is test file.

2. readline() 函数

readline() 函数从文件的当前指针处读取一行数据。如果在打开文件后首次调用 readline() 函数,则文件的当前指针位于文件的开头,即从文件的 行开始读取数据。执行 readline() 函数后,文件的当前指针将会指向下一行的开头。

例如,我们想要读取文件 test.txt 的 行,可以写代码:

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

print(f.readline())

输出:

this is test file.

3. readlines() 函数

readlines() 函数从文件的当前指针处读取多行数据并返回一个列表。如果在打开文件后首次调用 readlines() 函数,则文件的当前指针位于文件的开头,即从文件的 行开始读取数据。执行 readlines() 函数后,文件的当前指针将会位于最后一行的末尾。

例如,我们想要读取文件 test.txt 的全部内容并以列表形式返回,可以写代码:

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

print(f.readlines())

输出:

['this is test file.

', 'welcome to Python.

', 'Python is a powerful programming language.

', '']

写入文件

使用 open() 函数以写入模式打开文件后,可以使用以下文件操作函数来写入数据。

1. write() 函数

write() 函数用于将文本字符串写入文件。它接受一个字符串参数,并将其写入文件的当前指针处。如果使用 write() 函数时文件不存在,将会创建一个新文件。如果文件已存在,则会在写入数据前截断该文件。

例如,我们想要写入以下文本到 test.txt 文件中:

this is new line.

可以写代码:

f = open("test.txt", "w")

f.write("this is new line.")

f.close()

注意:write() 函数没有自动添加换行符。如果我们需要在文件中写入一个换行符,就必须在字符串末尾添加换行符。

2. writelines() 函数

writelines() 函数用于将字符串列表或可迭代的数据写入到文件中。它接受一个字符串列表或可迭代的数据作为参数,并将内容写入到文件的当前指针处。如果使用 writelines() 函数时文件不存在,将会创建一个新文件。如果文件已存在,则会在写入数据前截断该文件。

例如,我们想要向 test.txt 文件中写入以下文本:

this is first line.

this is second line.

this is third line.

可以写代码:

f = open("test.txt", "w")

lines = ["this is first line.

", "this is second line.

", "this is third line.

"]

f.writelines(lines)

f.close()

关闭文件

使用 open() 函数打开文件后,就需要在使用完后关闭文件。我们可以使用 close() 函数来关闭文件。

例如,在读取文件后,如果已经完成了对文件的全部操作,需要关闭文件,可以写代码:

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

print(f.read())

f.close()

总结

Python 的文件操作函数 open() 可以打开、读取、写入和关闭文件。open() 函数有两个参数,一个是文件的路径和名称,另一个则是打开文件的模式。可以使用 read()、readline() 和 readlines() 函数读取文件内容,或使用 write() 和 writelines() 函数将数据写入文件。在完成文件操作后,需要使用 close() 函数关闭文件。