根据文件内容和格式,可以分为文本文件、二进制文件、文档文件、表格文件、系统文件等等。本文主要学习纯文本文件(.txt)的操作方式,即读写操作。
对于文本文件,我们可以通过python的内置函数open函数实现对其读写操作。
一、open函数
open函数是python的内置函数,是用于操作文本文件的函数。函数参数格式为:
open(name, mode=None, buffering=None, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数 | 说明(更详细的参数说明请查看python中open函数说明) |
Name | 指文本文件,包含所在路径 |
Mode | 指文本文件打开的方式 |
Buffering | 用于设置缓冲策略。传递0来关闭缓冲(只允许在二进制模式下),传递1来选择行缓冲(仅在文本模式下可用),并使用> 1的整数表示固定大小的块缓冲区的大小。 |
Encoding | 用于指定编码格式,一般使用“utg-8” |
Errors | 用于指定如何处理编码错误问题 |
Newline | 用于区分换行符,可以为None, '', '\n', '\r', and '\r\n' |
Closefd | 文件状态,值有False和True |
Opener | 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符 |
对于open函数,常用的参数有name、mode和encoding。
1、name
该参数指要操作的文件,且包含所在路径。可以是相对路径,也可以是绝对路径。
'./context.txt' # 相对路径
'D:/file/workspace_pycharm/20240626/file_operations/part1/context.txt' # 绝对路径
2、mode
该参数打开文件的操作类型,主要有r(读)、w(以覆盖的方式写)、a(以追加的方式写)、x(新建一个文件,并写入,文件已存在则报错)、b(二进制模式)。
3、encoding
该参数用于设定编码格式,一般为“utf-8”
二、类方法
使用open函数,将返回一个类 '_io.TextIOWrapper',该类具有read()、write()、writeline()、close()、readlines()、readline()等多种方法。
方法 | 说明 |
Read() | 以字节大小读取文件内容,默认值为“-1”,表示全文读取 |
Write() | 以字符串的形式将内容写入文件,且无自动换行功能 |
Writeline() | 以字符串列表的形式将内容写入文件,且无自动换行功能 |
Readline() | 按行读取数据(单行读取),并返回一个字符串。代码中第几个readline代表读取第几行。如果输入非负数,则表示按字节大小读取内容。 |
Readlines() | 按行读取数据(多行读取),并返回一个字符串列表。 |
Close() | 关闭文件,关闭后无法读写文件。 |