请听我详细地讲解Python文件的读写操作。
前言
文件是存储数据的一种常见方式,Python 提供了以下几种方式帮助我们读写文件:
- open() 函数
- with 语句
- 文件对象的方法
- shutil 模块
其中,open() 函数是最基础的文件读写操作,其他三种方式都是在 open() 的基础上的封装。
open() 函数
open() 函数是 Python 读写文件的核心函数,它的基本格式为:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
其中,第一个参数是文件路径及其名称,第二个参数是打开模式,默认是只读模式('r'),其他参数是更细节的控制参数。具体解释如下:
- file:要打开的文件路径。
- mode:文件打开模式。
- buffering:设置缓冲区的大小,系统默认值为-1 (表示使用默认的缓冲区大小)。
- encoding:以什么编码方式打开文件,比如 'utf-8'。
- errors:用来设置错误信息的处理。
- newline:决定写入换行符时,采用 '\n' 还是 '\r\n'。
- closefd:是否关闭该文件的文件描述符。
- opener:用于自定义开启文件的功能,可以覆盖 open() 函数默认的功能。
使用 open() 函数打开一个文件,返回的是一个 file 对象,通过该对象可以进行文件读写操作,比如:
f = open('test.txt', 'r')
content = f.read()
print(content)
f.close()
这段代码打开了文件 test.txt,读取其所有内容并打印,然后关闭文件。注意,使用完文件后一定要记得关闭文件,否则会引起一些意想不到的错误。
读写文件
在 open() 函数的第二个参数中,使用不同的字符来表示不同的文件读写方式。其中常见的模式如下所示:
模式 | 描述 |
---|---|
'r' | 以只读模式打开文件(默认的模式)。 |
'w' | 以只写模式打开文件,如果文件已存在则先清空内容。 |
'x' | 以写模式打开文件,如果文件已存在则会产生 FileExistsError 错误。 |
'a' | 以追加模式打开文件,如果文件不存在则会创建。 |
'b' | 以二进制模式打开文件。 |
't' | 以文本模式打开文件(默认的模式)。 |
'+' | 以读写模式打开文件。 |
用 open() 函数打开文件时,即可以设置读写模式,也可以设置其他参数,比如指定字符编码,打开缓存等。具体使用方式如下:
f = open('test.txt', 'w', encoding='utf-8')
f.write('Hello World!')
f.close()
f = open('test.txt', 'r', encoding='utf-8')
content = f.read()
print(content)
f.close()
这段代码建立了一个文件操作管道,使用写入模式 'w' 打开文件 test.txt,指定了文件的编码方式为 utf-8,然后写入了一行文字。接下来,又使用读取模式 'r' 打开文件 test.txt,指定了文件的编码方式为 utf-8,读取了文本中的全部内容,并将其打印出来。
还可以使用 with 语句来进行文件读写操作,上面的代码也可以优化为:
with open('test.txt', 'w', encoding='utf-8') as f:
f.write('Hello World!')
with open('test.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
这样的好处是可以自动关闭文件,不需要手动调用 f.close() 方法了。
示例说明
下面给出两个示例说明。
示例1:写入文件
with open('test.txt', 'w', encoding='utf-8') as f:
f.write('Hello World!')
这个示例将字符串 'Hello World!' 写入文件 test.txt 中,使用了 with 语句自动关闭文件。
示例2:读取文件
with open('test.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
这个示例读取了文件 test.txt 中的全部内容,并将其打印出来。
总结
Python 提供了非常方便的文件读写操作 API,我们通过 open() 函数可以打开一个文件,使用 with 语句可以自动关闭文件,并可以直接对文件进行读写操作。希望这篇攻略能够让你掌握基本的 Python 文件读写操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:带你一文搞懂Python文件的读写操作 - Python技术站