# -*- 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
代碼是別人寫的,求解決
uj5u.com熱心網友回復:
給定的文本檔案中有使用gbk編碼的,utf-8不認識,無法讀取。解決方法:f.readlines().encode('gbk')指定編碼方式,如果有列印輸出內容的要求,自行試驗編碼格式。
一般常用的編碼方式,gbk gb2312 utf-8.
uj5u.com熱心網友回復:
編碼不對的問題轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/43364.html
