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

文件读取:Python函数使用open()函数的使用方法详解

发布时间:2023-06-21 18:04:34

Python语言在文件读取方面有着很好的支持。其中,读取文件并非只有一种方式,这一篇文章将详细介绍Python中文件读取函数open()函数的使用方法。

open()函数的作用

Python中open()函数是一个内置函数,它用于打开给定文件,并返回文件对象。该函数具有强大的功能,包括读取文件中的内容、写入数据、追加数据等。

在Python中,open()函数需要指定文件名以及文件打开模式,并返回一个文件对象。常用的打开模式有:

- "r":以只读方式打开文件。文件指针会放在文件开头,这是默认的模式。

- "w":以写入方式打开文件。如果文件存在,则先清空文件内容,再写入新的内容。如果文件不存在,则创建新文件。

- "a":以追加方式打开文件。如果文件存在,则文件指针移到文件末尾,新的内容将被追加到文件末尾。如果文件不存在,则创建新文件。

- "x":创建新文件写入方式打开文件。如果文件已存在,则该模式调用open()函数抛出FileExistsError异常。

以只读方式打开文件

下面是以只读方式打开文件的示例代码:

file = open("example.txt", "r")
print(file.read())
file.close()

在这个代码中,我们使用open()函数以只读方式打开文件example.txt。使用read()函数读取文件的全部内容,然后关闭文件。

读取指定长度的文件内容

我们可以使用read()函数读取指定长度的文件内容。下面就是一个最简单的示例:

file = open("example.txt", "r")
print(file.read(5))
file.close()

在这个代码中,使用read(5)函数从文件example.txt中读取五个字符,并打印读取到的内容。

使用for循环读取文件内容

Python提供了一种更有效的方式来遍历文件的内容。我们可以使用for循环读取文件的每一行,并逐行处理它们。下面是一段示例代码:

file = open("example.txt", "r")
for line in file:
    print(line)
file.close()

在这个示例代码中,我们打开通用测试文件example.txt,并通过使用for循环按行读取文件的内容,然后逐行打印出来。

写入文件

我们也可以使用open()函数打开文件以写入模式。使用write()函数向文件中写入数据。下面是一个简单的示例:

file = open("example.txt", "w")
file.write("Hello World!")
file.close()

在这个代码中,使用open()函数以写入模式打开文件example.txt。然后使用write()函数向文件中写入内容Hello World!最后,关闭文件。

在写入模式下,如果文件存在,则将被覆盖。如果文件不存在,则创建新文件。

追加文件

我们可以使用open()函数以追加模式打开文件。这样文件指针就会移到文件末尾,新的数据将追加到文件末尾。下面是一段示例代码:

file = open("example.txt", "a")
file.write("Hello World again!")
file.close()

在这个代码中,我们使用open()函数以追加模式打开文件example.txt。使用write()函数向文件中添加了一行数据Hello World again!最后,关闭文件。

关闭文件

在使用open()函数读写文件后,一定要关闭文件,否则会造成资源浪费。示例代码如下:

file = open("example.txt", "r")
print(file.read(5))
file.close()

在这段示例代码中,我们使用了read()函数读取文件内容。最后,我们使用file.close()关闭了文件。如果一些Python开发者希望遇到任何问题,可以通过将print语句替换为断言语句来验证代码的完整性。

这里还有一种更简洁的写法,可以搭配with语句使用,它可以自动运行file.close(),我们无需显式地关掉文件。示例代码如下:

with open("example.txt", "r") as file:
    print(file.read(5))

在这个代码中,我们使用with关键字以只读方式打开文件example.txt。使用print函数读取文件的前5个字符。with语句会去自动调用file.close()函数,即使代码异常退出也能保证文件被关闭。这样我们就可以在无需显式地关闭文件的条件下更新文件。