Python的文件操作函数,让文件读写更轻松
Python是一种高级编程语言,广泛应用于各种领域的软件开发。在Python中,文件操作是编程中最常见和重要的操作之一。Python为文件操作提供了一系列函数和方法,让文件读写变得更加轻松。本文将介绍Python中的文件操作函数及其用法。
1. 文件读取函数
Python提供了多个函数可以读取文件。其中,最常用的是open()函数。open()函数的语法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,参数file是要打开的文件名;参数mode是打开文件的模式,包括'w'、'r'、'a'等;参数buffering指定缓冲模式,通常可以忽略不管;参数encoding指定打开文件的编码方式;参数errors指定在编码或解码文件时遇到错误时的处理方式;参数newline指定在写文件时使用的换行符;参数closefd指示是否在此文件对象上调用close()方法。
通过open()函数可以打开一个文件,然后Python会返回一个文件对象,我们可以通过这个对象来读取文件的内容。常用的读取函数包括read()、readline()和readlines()等。这些函数的用法如下:
- read()函数:一次性读取整个文件内容
语法:
file.read(size)
其中,参数size指定要读取的字节数,不指定则表示读取整个文件。示例代码如下:
f = open('file.txt', 'r')
s = f.read()
print(s)
f.close()
- readline()函数:读取文件的一行,每次只读取一行
语法:
file.readline(size)
其中,参数size指定要读取的字节数,不指定则表示读取一整行。示例代码如下:
f = open('file.txt', 'r')
s = f.readline()
print(s)
f.close()
- readlines()函数:读取整个文件的所有行并返回一个列表
语法:
file.readlines(sizehint)
其中,参数sizehint指定读取的字节数,不指定则表示读取整个文件。示例代码如下:
f = open('file.txt', 'r')
s = f.readlines()
print(s)
f.close()
2. 文件写入函数
Python中也提供了多个函数可以写入文件。其中,最常用的是write()函数。write()函数的语法如下:
file.write(str)
其中,参数str是要写入的字符串。我们可以通过写入函数来修改已有的文件,或者创建新的文件并写入内容。
常用的写入函数包括write()、writelines()等。这些函数的用法如下:
- write()函数:写入指定的字符串
语法:
file.write(str)
其中,参数str是要写入的字符串。示例代码如下:
f = open('file.txt', 'w')
f.write('hello, world!')
f.close()
- writelines()函数:写入一个列表的字符串
语法:
file.writelines(list)
其中,参数list是一个字符串列表。示例代码如下:
f = open('file.txt', 'w')
f.writelines(['hello
', 'world
'])
f.close()
3. 文件关闭函数
在Python中,打开文件后一定要记得及时关闭文件。Python提供了close()函数,可以用它来关闭文件。close()函数的语法如下:
file.close()
使用close()函数可以避免由于文件未关闭而导致的资源泄露和数据错误等问题。示例代码如下:
f = open('file.txt', 'r')
s = f.read()
f.close()
4. 文件指针操作
文件指针是一个指针,可以指向文件任意一个位置。在Python中,文件指针有三种运动方式:顺序移动、随机访问和重置。
- 顺序移动:指针从文件的开头向后移动,一次移动一个字节
使用read()函数时,文件指针顺序向后移动,例如,调用read(1)函数会读取文件的第一个字节,同时文件指针会顺序向后移动一格,指向文件的第二个字节。
- 随机访问:可以通过seek()函数进行随机访问
seek()函数的语法如下:
file.seek(offset, whence)
其中,参数offset是相对于whence的偏移量;参数whence的值可以是0、1、2,分别表示文件开头、当前位置、文件结尾。例如:
f = open('file.txt', 'w')
f.write('hello, world!')
f.seek(7)
f.write('Python')
f.close()
这段代码会把字符串'hello, world!'中的'world'替换成'Python'。
- 重置:可以通过seek函数来重置当前指针的位置
语法:
file.seek(0)
例如:
f = open('file.txt', 'r')
f.read(5)
f.seek(0)
f.read(5)
f.close()
这段代码先读取了文件的前5个字符,然后重置文件指针,再次读取前5个字符。
5. 异常处理
在使用文件操作函数时,由于文件不存在、文件名、文件权限等问题,都有可能导致程序出现异常。Python中提供了try、except语句来进行异常处理。示例代码如下:
try:
f = open('file.txt', 'r')
s = f.read()
print(s)
f.close()
except Exception as e:
print(e)
当出现异常时,程序会跳转到except语句块中执行,否则程序会执行try语句块中的代码。
以上提到的是Python中的部分文件操作函数,还有一些其他函数,例如rename()、remove()等。在实际程序中,我们会根据不同的需求选择不同的函数和方法进行文件操作。熟练掌握Python中的文件操作函数,可以使文件读写变得更加方便快捷。
