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