原标题:10036-批量判断真实文件类型【源代码】
导读:
它能够判断指定文件夹及其子孙文件夹内文件的类型,包括自定义文件类型,并将判断结果输出到控制台及“判断结果.txt”文件中。若输入路径为单个文件,也可对其...
它能够判断指定文件夹及其子孙文件夹内文件的类型,包括自定义文件类型,并将判断结果输出到控制台及“判断结果.txt”文件中。若输入路径为单个文件,也可对其进行类型判断。
用户使用该工具时,程序首先会打印作者相关信息,包括定制小工具的微信联系方式、定制价格,同时说明该工具仅支持64位Windows系统,以及操作过程中回车键的使用方法和一些特殊文件类型判断的注意事项。之后,用户按以下步骤操作:
- 输入文件夹总路径:在“请输入包含有需要判断真实文件后缀的文件夹总路径(支持子孙文件夹下文件操作): ”的提示后,用户需准确输入要进行文件类型判断的文件夹路径。若输入的是单个文件路径,程序也能对该文件进行类型判断。
输入完成后,程序开始执行操作:
- 加载自定义文件类型:如果输入路径是文件夹,程序会在当前目录下的“my_file_type”文件夹中查找自定义文件类型配置文件。每个配置文件中的每一行应包含文件扩展名和对应的MIME类型,以逗号分隔,且行首不能以“#”开头。程序读取这些配置文件,将自定义文件类型加载到
custom_filetypes
字典中。 - 判断文件类型:对于每个文件,程序首先使用
filetype.guess
函数尝试猜测文件类型。如果猜测失败:- 程序检查文件扩展名是否在自定义文件类型字典中。若存在,则输出自定义文件类型相关信息。
- 若不在自定义类型中,程序尝试判断文件是否为文本文件。如果是文本文件,输出其为纯文本文件相关信息。
- 若既不是自定义类型也不是文本文件,程序根据文件内容是否包含空字符判断是否为二进制文件,并输出相应信息。
- 如果
filetype.guess
函数猜测成功,程序输出文件扩展名、MIME类型,并根据不同的扩展名给出一些关于文件实际类型的提示信息,因为某些文件类型仅通过头信息无法完全准确区分。 - 处理文件夹:如果输入路径是文件夹,程序通过
os.walk
函数遍历该文件夹及其子孙文件夹,对每个文件都执行上述文件类型判断操作,并将所有文件的判断结果汇总。 - 输出结果:程序将文件类型判断结果输出到控制台,并写入到当前目录下的“判断结果.txt”文件中,同时提示用户“判断结果已写入到判断结果.txt文件中”。
完成一次操作后,程序会询问“是否要继续运行程序?(y/n): ”。若用户输入“y”(不区分大小写),则会重新提示用户输入文件夹总路径,开始新一轮的文件类型判断操作;若输入其他内容,程序结束运行。
例如,假设存在如下文件夹结构:
主文件夹
│
├── 文件夹 A
│ ├── file1.txt
│ ├── subfolder1
│ │ ├── file2.jpg
│ │ └── subfolder2
│ │ ├── file3.xlsx
│ │ └── subsubfolder1
│ │ ├── file4.bin
│ └── file5.custom
└── 文件夹 B
同时在“my_file_type”文件夹中有一个配置文件,内容为“custom,application/x-custom”,用于定义“custom”扩展名的自定义文件类型。
用户运行程序,输入“主文件夹”作为文件夹总路径。程序会遍历“主文件夹”及其子孙文件夹,判断“file1.txt”为纯文本文件,“file2.jpg”为图片文件并给出相应MIME类型及提示,“file3.xlsx”判断为可能是Office文档或压缩包并给出相应提示,“file4.bin”判断为二进制文件,“file5.custom”根据自定义配置判断为自定义类型“application/x-custom”。所有判断结果会输出到控制台和“判断结果.txt”文件中。之后询问用户是否继续运行程序,若选择“y”,可重新输入路径进行新一轮操作;若选择其他内容,程序结束。
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 704-获取A文件夹下各文件夹下的图片数量输出到excell
- 732-批量搜索文件名中包含文件夹名的文件并移入到文件夹中
- 752-批量复制文件及文件夹到多个文件夹
- 769-批量删除文件名中的指定字符串
- 779-批量删除指定文件夹下指定名称的文件-包含子孙文件夹下指定文件名称
- 786-批量移动指定文件夹下文件到目标文件夹下同名文件夹内
- 解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用
- 102-批量合并ts及视频流视频片段-及其他相同格式相同流的视频
- 100131-批量去除视频声音
- 100132-批量将视频格式转换为mp4文件支持子孙文件夹操作
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...