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就不会乱码了。

 

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

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM