python文件打开,行处理

1)打开文件: 使用如下代码:

 with open(file, "r",encoding = "utf-8",errors = "ignore") as file_p:

其中增加的encoding = "utf-8",表示要打开的文件的编码方式,errors 表示如果遇到解码错误的处理方式,其默认值 是strict,即遇到错误就报错,在项目开发过程中,如果不指定encoding方式和error处理方式, 使用系统默认的gbk 方式打开文件时,发现某些文件存在无法识别的错误,报错为“gbk codec can,t decode byte .. in position ...”,导致程序停止。

 增加上述代码后,采取utf8 方式处理文件,并且在遇到错误时采取ignore方式,不报错,问题解决。

 

2)文件行处理

  使用readlines() 将整个文件读进来之后,按行处理,for line in file_p.readlines():

  这里总结几个常用的行处理函数: 

 line.strip(): 删除空余的空格,通常用于查找是否是空行,在删除多余的空格之后,该行的length为0 , 也可以输入指定的字符,用于将两侧的指定字符去掉。

 len(line): 返回line的长度,可以结合strip使用确认是否是空行 

line.find(“字符或者字符串”): 查找line中是否存在某些字符,如果找到,则返回索引值,索引值从0开始,如果找不到,则返回-1 

line.startswith(“字符串”): 确认该行是否以指定的字符串开始

line.endswith("字符串"),确认改行是否以指定的字符串结束

line的其他函数可以使用dir(str)查看,根据需要取用

posted on 2018-02-04 11:35  clairlb  阅读(192)  评论(0)    收藏  举报