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所以报错。第三行设置编码是正确的,同学删除掉第一行代码即可

https://img1.sycdn.imooc.com//climg/64a37ccb09f59e6507040459.jpg

祝学习愉快~


0

Python全能工程师 2024 版

8阶段5大热门领域,从入门到实战,带你从零基础晋级全能,全面提升就业力

1568 学习 · 855 问题

查看课程

相似问题

报错

回答 1

回答 1

回答 1

报错了

回答 1