首页>少儿编程>利用python3查找文件夹内所有文件内容

利用python3查找文件夹内所有文件内容

学习wp主题的时候看到了几个自定义的action,因为主题文件较多,随手点了几个都不对,逐渐红温,忽然想起来python可能会有对应的模块吧,毕竟“人生苦短,我用python”嘛。

Using_Python_3_to_search_for_the_contents_of_all_files_in_a_folder_p1

要说ai搜索这东西,方便确实是方便,一搜索直接把示例程序也给提供了,稍微修改一下就直接可以运行,但对于自己做内容的小站点来说,就不那么友好了,人为刀俎我为鱼肉,最终沦为了“搜索资源”与“训练物料”。可能是博主的python版本较低的原因,在print的时候没法加f前缀直接在引号内打印变量,所以老老实实用+号连接了。

Using_Python_3_to_search_for_the_contents_of_all_files_in_a_folder_p2

import os

def search_directory_content(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            with open(file_path, 'r') as f:
                content = f.read()
                # 在这里添加你的搜索逻辑,例如:
                if 'zakra_action_after_content' in content:
                    print("Found in " + file_path)
                    
# 调用函数
search_directory_content('./zakra')

运行程序后,很快就得到了结果。

Using_Python_3_to_search_for_the_contents_of_all_files_in_a_folder_p3

python3的错误信息

在公司电脑上跑得好好的程序,回家跑的时候报了这样一个错误。其原因是含有无法编码的字符;

UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 0: illegal multibyte sequence

附上修改后的代码:

import os

def search_directory_content(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            with open(file_path, 'r',encoding='gb18030',errors='ignore') as f:
                content = f.read()
                # 在这里添加你的搜索逻辑,例如:
                if 'add_theme_support' in content:
                    print("Found in " + file_path)
                    
# 调用函数
search_directory_content('./zakra')

关于gb18030的小贴士

GB18030是中国制定的汉字集编码规则的国际标准,想要更好的了解这套标准需要清除的知道其演化过程:

1980年,GB2312—80(我国的第一套汉字集标准),共包含7445个字符,其中6763个常用汉字;1995年,GBK,由GB2312—80(和港、台两种标准)扩展而来,共包含21886个字符,其中常用汉字14240个。GB2312—80和GBK都只包含一个字节和双字节汉字,直到GB18030—2000产生,汉字标准字符集继续扩展,又增加了6351个字符,其中一部分为4字节字(four-byte encoding range)。目前最新的国家汉字标准是GB18030—2005,在上述基础上又增加了六种少数民族语言和一些四字节字。

在Unicode产生之前,各国的标准基本都是各自为主,自己制定自己的那一套,谁也不服谁,彼此之间不通用,也别想着转换,由于历史原因,汉字就相对复杂,有三套标准共存,GB2312—80是中国大陆的,Big5是中国台湾的,HKSCS是中国香港的。这三套标准并不通用,彼此的编码在底层没办法转换。那个年代只要写出一套能够在桌面显示简体和繁体的软件就可以卖大钱。

其实这种混论并不局限于国内,在世界范围来说也非常的不利于文化交流。值得一提的是,进过每个国家都有自己的标准,但是所有的便准的制定都是在ASCII的基础上的,这也一定程度上为Unicode的诞生和标准化奠定了基础。

乱不能久,统一才是大趋势,于是Unicode应运而生,在Unicode诞生后,建立与其上的GBK和GB18030称为汉字的国际标准,结束了汉字有三套标准的混乱局面。GB18030是GBK的超集,也就是包含的字符要比GBK多。不过像微软的windows口和一些公司的Linux系统中的内嵌的中文编码都是GBK。其实GB18030比GBK中多出来的字符不是很常用,里面包含的主要是一些少数民族语言和一些韩语和维族语言。

标签: python

移动端可扫我直达哦~

推荐阅读

python 2024-06-28

python中print函数的格式控制符号

%字符:标记转换说明符的开始;转换标志:- 表示左对齐;+ 表示在转换值之前要加上正负号;“” (空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充;最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽...

少儿编程 python

python 2024-06-27

小鸟数据python语法速查表

Python对大小写敏感,使用半角符号,变量命名采用“_”、数字或字母的组合,建议采用规范的命名方式,比如使用驼峰式命名方式,编程过程中多写注释。基础语法数据类型:整数,浮点,字符串,逻辑值运算符号:+,-,*,/, % , // ,...

少儿编程 python

python 2024-06-18

pyautogui报错误:No module named pytweening

之前利用pyautogui实现了一个类似按键精灵的功能,在一个可写的PDF文件中,动态修改某个单元格的值,并依次打印出来。利用python2.7实现的程序,因为中途换装过python3,换回python2.7版本之后很多库都失效了,年...

少儿编程 python

python 2024-06-17

利用PYTHON批量修改图片的宽高尺寸

将制作完成的产品拍照发客户,是博主的工作之一,原来是用的数码相机,随着手机照片质量的提升,现在用手机拍照也能满足需求。目前在用的手机是xsmax,默认设置下一张照片经常会超过4M,记得购买的第一个u盘的容量也就32M还是64M。遇到客...

少儿编程 python

python 2024-04-08

Python利用tinify API实现批量压缩图片

一直觉得“API”这个词语的书面解释过于高大上,使用下来感觉API就如同一个自动售货机,有需求的人投了一个币进去,然后售货机给了你对应面值的饮料。就比如这个tinify API,核心功能是实现图片的压缩,用户传过去一张图片,它回传一个...

少儿编程 python

python 2024-03-21

利用python批量修改照片名称

博主之前用的iphone6sp,年前闲鱼入了一个二手的xsmax,两者拍摄的照片默认后缀都是大写的"JPG"。小鸟数据博客的主题是自己捣鼓的,技术实力有限,仅能正确识别小写的图片名称,所以某次直接用原图发布文章的时候,发生了图片无法正...

少儿编程 python

python 2023-10-24

Python官网下载速度很慢怎么办

之前一直在Python官网下载安装包,用浏览器自带的下载工具,并没有觉得慢到难以忍受。时隔大半年,手头的存储安装包的u盘不知道落哪里了,于是又一次访问了官网。公司单独拉了一根光纤,然而打开Python官网主页居然就花了半天,心说完犊子...

少儿编程 python

python 2023-09-28

pyautogui中的键盘对应键位的名称

pyautogui可以模拟用户按键,比如需要按回车,我们可以输入“enter”,需要按删除键,我们可以输入“delete”,键位太多记不过来,干脆写篇笔记记录一下吧。顺便一提,利用help可以查看pyautogui的帮助信息:help...

少儿编程 python

python 2023-09-28

利用python自动编辑可编辑pdf并实现自动打印

可编辑的pdf文件不多,工作中很少遇到类似的情况,很多需要用到自动打印的场合,一般就直接把pdf拖入到coreldraw或ai中,转换为矢量图,然后利用vba在编辑软件中实现自动打印。手头上有一份客户发过来的pdf文件,可以直接在文件...

少儿编程 python

python 2023-09-28

python2.7所对应的pyautogui版本是哪个

想安装一个pyautogui,用于实现一个类似按键精灵的效果,因为客户发过来一个可编辑的pdf文件,需要在其中填入对应的序列号,手工填写一次几百张有点儿麻烦,所以考虑用python来组合一套动作,实现自动的操作。于是在win7系统中打...

少儿编程 python

python 2023-06-28

利用python批量修改文件名一例

对python认识不多,虽然也认真的学习过一段时间,在玩魔兽世界怀旧服的时候,曾经实现过一个自动钓鱼的程序,可惜在自己的电脑上跑的好好的,换台电脑就失效了,菜鸟玩家,写的程序不具备兼容性。下载了几个文件,因为防网盘屏蔽的原因,分享者修...

少儿编程 python