在Python编程中,文件读写操作是必不可少的一部分。通过文件读写,可以在Python程序中读取外部文件的数据,或将生成的数据写入到外部文件中。Python提供了强大的文件读写操作功能,能够实现各种高效的文件处理需求。本文将介绍Python文件读写的详细步骤以及注意事项。
一、打开和关闭文件
在Python中,要进行文件读写,首先需要打开文件。我们可以使用Python内置的open()函数来打开一个文件,并得到一个文件对象file_object
,其语法如下:
file_object = open(file_name [, access_mode][, buffering])
其中file_name
是文件的名称和路径,access_mode
指定文件打开模式(可选参数,默认为r
),buffering
指定缓冲区大小(可选参数,默认值为-1
,表示使用系统默认值)。打开文件之后,操作完成后需要关闭文件,以释放资源。我们可以使用文件对象的close()
方法来关闭文件,其语法如下:
file_object.close()
为了保证文件在操作过程中的正确性,应当养成在每次文件操作完成后关闭文件的好习惯。
二、读取文件
Python提供了多种读取文件的方法,下面分别介绍。
1. 读取整个文件内容
我们可以使用文件对象的read()
方法来读取整个文件内容。其语法如下:
file_object.read([size])
其中size
是可选参数,指定要读取的字节数。如果不指定size
,则会读取文件所有数据。
示例代码:
filename = 'test.txt'
# 打开文件
fo = open(filename, "r")
str = fo.read()
print ("文件名为: ", filename)
print (str)
# 关闭文件
fo.close()
2. 逐行读取文件内容
我们可以使用文件对象的readline()
方法来逐行读取文件内容。其语法如下:
file_object.readline([size])
其中size
是可选参数,指定要读取的字节数。如果不指定size
,则会读取一行数据。
示例代码:
filename = 'test.txt'
# 打开文件
fo = open(filename, "r")
line = fo.readline()
while line:
print ("读取的数据为: %s" % (line))
line = fo.readline()
# 关闭文件
fo.close()
3. 读取文件所有行
我们可以使用文件对象的readlines()
方法来读取文件所有行。其语法如下:
file_object.readlines()
该方法将文件的各行数据读取到一个列表中返回。
示例代码:
filename = 'test.txt'
# 打开文件
fo = open(filename, "r")
lines = fo.readlines()
print ("读取到的所有行数据为: ")
for line in lines:
print (line)
# 关闭文件
fo.close()
三、写入文件
Python提供了多种写入文件的方法,下面分别介绍。
1. 写入文件指定字符串
我们可以使用文件对象的write()
方法来写入指定字符串到文件中。其语法如下:
file_object.write(str)
其中str
为要写入的字符串。如果文件不存在,则写入的同时会自动生成文件。
示例代码:
filename = 'test.txt'
# 打开文件
fo = open(filename, "w")
str = "Python 文件读写操作。\n"
fo.write(str)
# 关闭文件
fo.close()
2. 在文件指定位置写入字符串
我们可以使用文件对象的seek()
方法和tell()
方法来定位文件指针的位置,并使用write()
方法来在指定位置写入字符串。定位文件指针位置的方法:
seek(offset[, whence])
:将文件指针移动到指定的偏移量offset
处。其中whence
表示偏移量的参考位置,其取值范围为0(文件开头)、1(当前位置)、2(文件结尾),默认为0。tell()
:返回当前文件指针的位置。
示例代码:
filename = 'test.txt'
# 打开文件
fo = open(filename, "r+")
str1 = fo.read()
print ("原始数据为 : ", str1)
# 将文件指针移动到文件头
fo.seek(0, 0)
str2 = "Python File Write Operation!"
fo.write(str2)
# 将文件指针移动到文件头
fo.seek(0, 0)
str3 = fo.read()
print ("修改后的数据为 : ", str3)
# 关闭文件
fo.close()
3. 追加到文件
我们可以使用文件对象的write()
方法以及指定打开文件的模式为a
,来将字符串追加到文件末尾。其语法如下:
file_object = open(file_name, 'a')
file_object.write(str)
其中file_name
为文件名,str
为要追加的字符串。
示例代码:
filename = 'test.txt'
# 打开文件
fo = open(filename, "a")
str = " 记得要将文件关闭!!!\n"
fo.write(str)
# 关闭文件
fo.close()
四、总结
本文介绍了Python文件读写操作的详细步骤以及注意事项。在读取文件时,可以使用read()
、readline()
和readlines()
等方法逐一读取文件内容。在写入文件时,可以使用write()
方法将指定的字符串写入文件中,也可以使用seek()
、tell()
方法定位文件指针的位置并进行文件写入操作。
为了保证操作的正确性,在每次文件操作完成后,应当养成关闭文件的好习惯,释放文件资源。