python中readline的“坑”

      今天用python处理文件数据,用readline()方法来按行读取,可是在接下来的逻辑里,却怎么也取不到值,折腾了半天,原来是readline()读出的数据会自带换行符。这下就简单了用strip()函数去掉换行符即可。伪代码如下:

with open(fpath, 'r') as f:
    line = f.readline()
  line = line.strip('\n')
   # do something

 如上处理,就不会出现莫名其妙的问题。

注意:调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。

点赞