utg-8报错
来源:2-9 查找含有指定内容的文件
慕后端7217803
2024-09-23 18:43:50
为什么我在执行以下程序:想要搜索包含文件内容的文件,并且以列表的形式返回包含查找包含搜索关键字的文件,会出现utg-8报错?
# coding: utg-8
# coding: utf-8
# 获取当前路径下所有内容
# 判断每个内容类型 (是文件夹还是文件)
# 递归
import glob
path = glob.os.path.join(glob.os.getcwd(), '*')
final_result = []
def search(path, target): #todo:两个未知参数一个是文件路径,另外一个是希望查找的文件名称
result = glob.glob(path)
for data in result:
if glob.os.path.isdir(data): #todo:由于判断的是文件夹,而文件夹里面是会包含文件的,所以在文件夹后面寻找target
_path = glob.os.path.join(data, '*') #todo:要在进行glob.os.path.join(data, '*')来筛选里面的文件
# print('%s is filepath' % data)
search(_path, target) #todo:在search函数中再次使用search,为递归
else:
f = open(data, 'r')
try: #todo:由于zip文件是不可读类型,执行程序会报错
content = f.read()
except:
print('data read failed %s' % data)
f.close()
continue
if target in content:
final_result.append(data)
f.close()
return final_result
if __name__ == '__main__':
result = search(path, target='years')
print(result)1回答
好帮手慕小猿
2024-09-23
同学,你好!同学第一行定义文件编码为utf-8的代码写错了,将字母f 写成了g所以报错。第三行设置编码是正确的,同学删除掉第一行代码即可

祝学习愉快~
相似问题