Python读取文件时进行文本处理的前提,在进行读取文件之前,我们先创建一个文本文件作为源文件,例子中文件名为exercise1.txt,文件内容如下:
综述
在Python中,读文件主要分为三个步骤:打开文件、读取内容、关闭文件。一般形式如下:
try:
file = open('/path/to/file', 'r') # 打开文件
data = file.read() # 读取文件内容
finally:
if file:
file.close() # 确保文件被关闭
模板中的路径如果不是相当精确,但得放在和编程目录的同一个目录下,但如果精确,就可以在本机的任何一个位置,只要找到文件文职复制目录即可。但是上面的读文件做法很繁琐,我们可以使用Python的with语句来帮我们自动调用 close 方法:
with open('/path/to/file', 'r') as file:
data = file.read()
本来可以用try ,finally来解决的问题,为什么要用with语句呢?因为两个原因:其一,python是一门简短精悍的语言,提倡简洁的编码风格。其二,with使用了上下文管理器,可以自动获取上下文相关内容,让开发者更专注于业务。
1、打开文件
打开文件时,我们看到上面模板中使用了Open函数,open() 函数用于打开一个文件,格式为:open(路径+文件名, 读写模式, 编码),创建一个 file 对象,相关的方法才可以调用它进行读写,里面的’r’指的是只读模式,不同的模式可以进行不同的操作:
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
- r(只读模式)
注意:Python中路径文件夹之间的间隔是用 / ,与以往的不同。
运行后,发现出现了错误,错误提示为:‘gbk’ codec can’t decode byte 0xae in position 4: illegal multibyte sequence。这个时候我们只需要在一开始就指定编码,通常使用encoding=‘UTF-8’,再次运行后如下:
try:
file