用PYTHON统计给定文件夹所所有文本文件的总行数

hello-man 2020-05-20 11:14:59
# -*- coding: utf-8 -*-
import os

def listdir(path, list_name): #传入存储的list
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
listdir(file_path, list_name)
else:
list_name.append(file_path)

filesDir = r"D:\aa\bb\cc\dd"
filesList=[]
listdir(filesDir, filesList)
# print(filesList)
count=0 #记录行数
for file in filesList:
print(file)
f = open(file,"r")
for line in f.readlines():
count=count+1
print("code line number= " + str(count))




以上代码运行完,提示UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 85: illegal multibyte sequence



代码是别人写的,求解决
...全文
313 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
clara,. 2021-07-12
  • 打赏
  • 举报
回复

改成open(file, 'r', encoding='utf-8')

weixin_45903952 2020-05-21
  • 打赏
  • 举报
回复
编码不对的问题
晚风_END 2020-05-20
  • 打赏
  • 举报
回复
给定的文本文件中有使用gbk编码的,utf-8不认识,无法读取。 解决方法:f.readlines().encode('gbk')指定编码方式,如果有打印输出内容的要求,自行试验编码格式。 一般常用的编码方式,gbk gb2312 utf-8.

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧