Python 文件 I/O 函数:如何读写文件?
Python是一种强大而广泛使用的编程语言,它提供了方便易用且强大的文件输入/输出函数。Python的文件输入/输出函数允许我们读写文件并处理文件数据。在这篇文章中,我们将介绍Python文件输入/输出函数的基本知识,并探讨如何在Python中读写文件。
文件读取(读取文件内容)
在Python中,我们可以使用open()函数来打开一个文件。open()函数的语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,file参数是要打开的文件名,mode参数指定文件的打开模式。常见的模式包括:
'r':只读方式打开文件
'w':写入方式打开文件
'a':追加方式打开文件
'x':创建文件并以写入方式打开文件
'b':打开二进制文件
‘t’:打开文本文件
'+':同时进行读写操作
例如,要以只读方式打开一个文本文件,可以这样写:
file = open('test.txt', 'r')
一旦打开了文件,我们可以使用文件对象(file object)中的方法来读取文件内容。以下是Python文件对象中一些常见的方法:
read():读取文件的全部内容
read(n):读取n个字符
readline():读取下一行
readlines():读取所有行并返回列表
其中,read()表示读取整个文件内容。例如,要读取一个名为test.txt的文件,可以这样写:
file = open('test.txt', 'r')
content = file.read()
这个操作会将test.txt中的所有内容读取并存储到字符串变量content中。
与read()不同,readline()方法则会在每次调用时读取文件的下一行。因此,我们可以使用一个while循环来读取整个文件,如下所示:
file = open('test.txt', 'r')
while True:
line = file.readline()
if not line:
break
print(line)
这个操作会逐行读取test.txt中的所有内容,并输出到控制台。
文件写入(向文件写入内容)
除了读取文件外,我们还可以使用Python文件输入/输出函数将数据写入文件。写文件的方法与读取文件非常相似。例如,要以写入方式打开一个名为test.txt的文件,可以这样写:
file = open('test.txt', 'w')
一旦打开了文件,我们可以调用文件对象中的write()方法将数据写入文件。例如,要将一个字符串写入test.txt文件,可以这样写:
file = open('test.txt', 'w')
file.write('This is a test.')
这个操作会向test.txt文件写入字符串'This is a test.'。
如果我们需要将多个字符串写入文件,并确保它们都占据不同的行,可以用write()方法将每行字符串以换行符
分隔开来,如下所示:
file = open('test.txt', 'w')
file.write('This is a test.
')
file.write('More data.
')
file.write('And more data.
')
这个操作会将三行字符串分别写入到test.txt文件的不同行中。
使用with语句(自动关闭文件)
在使用Python文件输入/输出函数时,如果不手动关闭文件,会导致文件泄漏,进而影响程序健壮性。要避免这个问题,我们可以使用下面的语法来确保自动关闭文件:
with open('test.txt', 'r') as file:
content = file.read()
这个语句使用with关键字打开一个名为test.txt的文件,并将文件对象赋值给变量file。with语句结束时,Python会自动关闭文件。这个技巧简化了文件输入/输出函数的使用,使操作更加安全而简单。
结论
Python文件输入/输出函数是基本而且强大的工具,可以使我们轻松读写文件并处理文件数据。在使用python文件输入/输出函数时,请务必确保使用常见的机制来自动关闭文件,以确保程序的健壮性。始终遵循尽可能简单的简约原则,以使操作更加清晰、简单、可维护和可扩展。
