python 按行读取并解析如 csv、json、excel 等文件内容,通常主要是一行一行读取字符串内容,每行也有按照约定的分隔符进行分开内容,如按照制表符 \t 分隔一行的内容;针对这种场景 python 有多种方法实现,主要是 open() 方法打开文件,调用 read()、read(size)、readline()、readlines() 等函数读取内容,最后调用 close() 对文件进行关闭。
推荐方式
with open('filename') as f:
for line in f:
print(line)
从 python 2.6 开始,with 成为默认关键字,with ... as ... 是一个控制流语句,跟 if for while try 之类的是一类,with 可以用来简化 try ... finally ... 代码,用很优雅的方式处理上下文环境产生的异常,无需在 finally 里显性调用 close() 方法,自动帮我们调用关闭方法。
在 python 中,文件对象是可迭代的,这意味着我们可以直接在 for 循环中使用它们(如上示例),而且是逐行迭代的,效果和 readline() 是一样的,而且更简洁。
读操作分解
在 python 中,读文件主要分为三个步骤:
打开文件
读取内容
关闭文件
打开文件
f = open('/path/to/file', 'r')
打开文件调用 open 方法,参数除了指定文件外,还需设置打开模式。