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

如何使用Python来读写文件?

发布时间:2023-06-21 06:44:53

Python在文件读写方面提供了很强大的支持。它提供了内置的open()函数以及其他一些模块和库,使得读写文件变得非常简单。

1. 文件打开

要打开一个文件,可以使用内置函数open()。这个函数接受文件的路径和模式作为参数。

语法:open(file_path, mode)

参数说明:

file_path:文件的路径或文件名称。

mode:打开文件的模式,如‘r’‘w’‘a’等,具体解释如下。

‘r’:以只读方式打开文件,默认为文本模式打开,读取文件内容。

‘w’:以只写方式打开文件,会覆盖文件原有内容,文件不存在则创建文件。

‘a’:以追加模式打开文件,新写入的内容会在原文件内容的后面,文件不存在则创建文件。

‘x’:以创建新文件的方式打开文件,如文件已经存在则会报错。

‘b’:以二进制模式打开文件,可用于读取二进制文件。

‘t’:以文本模式打开文件,可用于读取文本文件。

文件打开后,它必须关闭以释放与它关联的资源。文件关闭可以通过在文件对象上调用close()方法实现。

示例代码:

# 打开文件

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

# 读取一行内容

line = file.readline()

# 输出内容

print(line)

# 关闭文件

file.close()

2. 读写文件

读取文件:read()、readline()、readlines()

read()方法一次性将文件全部内容读取到内存中,并返回字符串类型,并不适合读取大文件。

readline()方法每次读取一行内容,但是其并没有全部读入内存,而是每次读取一行,读取完毕后就释放这行的内存,适合读取大文件,但其不适用于要一次性读取整个文件的情况。

readlines()方法逐行读取文件中所有的内容到一个列表中,每行内容作为一个字符串元素。此方法同样也适合读取大文件,但读取完毕后会将所有内容保存在内存中,因此如果文件较大,可能会占用大量的内存空间。

示例代码:

# 打开文件

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

# 读取一行内容

line1 = file.readline()

# 循环读取内容

lines = file.readlines()

for line in lines:

    print(line.strip())

# 读取全部内容

content = file.read()

# 关闭文件

file.close()

写入文件:write()

使用write()方法写入文件时,必须以“w”模式打开文件,write()方法将字符串写入文件,并返回写入的字符数。如果想要写入数字或其他类型的数据,必须先将之转换为字符串。

示例代码:

# 打开文件

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

# 写入内容

file.write("Python是一门非常优美的编程语言。

")

file.write("开发者可以用他来编写各类程序。

")

# 关闭文件

file.close()

3. 文件对象迭代器

文件对象还可以作为迭代器使用,每次迭代返回一行内容。

示例代码:

# 打开文件

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

# 迭代文件

for line in file:

    print(line.strip())

# 关闭文件

file.close()

总结

Python内置的文件读写方法十分方便,它提供了大量的模式和操作,开发者可以根据实际需求来选择合适的操作。同时,在使用文件时,需要注意文件的关闭,不要让文件一直保持打开状态,避免资源浪费和文件出现异常。