AttributeError: '_io.TextIOWrapper' object has no attribute 'xreadlines'

Python 错误!AttributeError: '_io.TextIOWrapper' object has no attribute 'xreadlines'

Traceback (most recent call last):

File "countline.py", line 33, in <module>

totalline = totalline + countLine(filelist)

File "countline.py", line 23, in countLine

for file_line in open(fname).xreadlines():

AttributeError: '_io.TextIOWrapper' object has no attribute 'xreadlines'

原因:

  • 在Python 2里,文件对象有一个xreadlines()方法,它返回一个迭代器,一次读取文件的一行。这在for循环中尤其有用。事实上,后来的Python 2版本给文件对象本身添加了这样的功能。
  • 在Python 3里,xreadlines()方法不再可用了。

解决方法:

for file_line in open(fname).xreadlines():

改为:for file_line in open(fname, encoding="utf-8").readlines():

加上utf-8就不会乱码了。

 

文章来源:刘俊涛的博客 欢迎关注公众号、留言、评论,一起学习。

 

若有帮助到您,欢迎点击推荐,您的支持是对我坚持最好的肯定(*^_^*)

posted @ 2020-06-05 12:02  刘俊涛的博客  阅读(7087)  评论(0)    收藏  举报