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

Python的文件操作函数,让文件读写更轻松

发布时间:2023-06-12 05:45:36

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中的文件操作函数,可以使文件读写变得更加方便快捷。