目录
糟透了
效果展示
开发思路
展望
首页 后端开发 Python教程 用Python写了个小工具,再复杂的文件夹,分分钟帮你整理!

用Python写了个小工具,再复杂的文件夹,分分钟帮你整理!

Apr 11, 2023 pm 08:19 PM
python 工具 代码

用Python写了个小工具,再复杂的文件夹,分分钟帮你整理!

糟透了

我承认我不是一个爱整理桌面的人,因为我觉得乱糟糟的桌面,反而容易找到文件。

哈哈,可是最近桌面实在是太乱了,自己都看不下去了,几乎占满了整个屏幕。虽然一键整理桌面的软件很多,但是对于其他路径下的文件,我同样需要整理,于是我想到使用Python,完成这个需求。

用Python写了个小工具,再复杂的文件夹,分分钟帮你整理!

效果展示

我一共为将文件分为9个大类,分别是图片、视频、音频、文档、压缩文件、常用格式、程序脚本、可执行程序和字体文件。

# 不同文件组成的嵌套字典
file_dict = {
'图片': ['jpg','png','gif','webp'],
'视频': ['rmvb','mp4','avi','mkv','flv'],
"音频": ['cd','wave','aiff','mpeg','mp3','mpeg-4'],
'文档': ['xls','xlsx','csv','doc','docx','ppt','pptx','pdf','txt'],
'压缩文件': ['7z','ace','bz','jar','rar','tar','zip','gz'],
'常用格式': ['json','xml','md','ximd'],
'程序脚本': ['py','java','html','sql','r','css','cpp','c','sas','js','go'],
'可执行程序': ['exe','bat','lnk','sys','com'],
'字体文件': ['eot','otf','fon','font','ttf','ttc','woff','woff2']
}
登录后复制

file_dict 是自己定义的一个字典,里面包含了我们学习、工作中常用的格式。常用格式需要为大家解释一下,对于平时经常使用,但是又不知道放在哪一类的文件,都存放在这里。

注意: 如果你的电脑中,有着其它更多的文件格式,只需要修改上述的file_dict字典即可。

开发思路

开发这样一个小工具,一共涉及到三个Python库,分别是os模块、shutil模块、glob模块,它们搭配使用,用来处理文件和文件夹,简直超给力!

整个开发步骤,大致思路是这样的:

  • ① 任意给定一个文件路径;
  • ② 获取当前文件路径下的所有文件,并取得每个文件对应的后缀;
  • ③ 判断每个文件,是否在指定的嵌套字典中,并返回对应的文件分类;
  • ④ 判断每个文件分类的文件夹是否存在。因为需要创建新的文件夹,用于分类存放文件;
  • ⑤ 将每个文件,复制到对应的分类中;

完整代码如下:【附详细的备注】

# 导入相关库
import os
import glob
import shutil
# 采用input()函数,动态输入要处理的文件路径。
path = input("请输入要清理的文件路径:")
# 定义一个文件字典,不同的文件类型,属于不同的文件夹,一共9个大类。
file_dict = {
'图片': ['jpg','png','gif','webp'],
'视频': ['rmvb','mp4','avi','mkv','flv'],
"音频": ['cd','wave','aiff','mpeg','mp3','mpeg-4'],
'文档': ['xls','xlsx','csv','doc','docx','ppt','pptx','pdf','txt'],
'压缩文件': ['7z','ace','bz','jar','rar','tar','zip','gz'],
'常用格式': ['json','xml','md','ximd'],
'程序脚本': ['py','java','html','sql','r','css','cpp','c','sas','js','go'],
'可执行程序': ['exe','bat','lnk','sys','com'],
'字体文件': ['eot','otf','fon','font','ttf','ttc','woff','woff2']
}

# 定义一个函数,传入每个文件对应的后缀。判断文件是否存在于字典file_dict中;
# 如果存在,返回对应的文件夹名;如果不存在,将该文件夹命名为"未知分类";
def func(suffix):
for name, type_list in file_dict.items():
if suffix.lower() in type_list:
return name
return "未知分类"
# 递归获取 "待处理文件路径" 下的所有文件和文件夹。
for file in glob.glob(f"{path}/**/*",recursive=True):
 # 由于我们是对文件分类,这里需要挑选出文件来。
if os.path.isfile(file):
 # 由于isfile()函数,获取的是每个文件的全路径。这里再调用basename()函数,直接获取文件名;
file_name = os.path.basename(file)
suffix = file_name.split(".")[-1]
# 判断 "文件名" 是否在字典中。
name = func(suffix)
#print(func(suffix))
# 根据每个文件分类,创建各自对应的文件夹。
if not os.path.exists(f"{path}\{name}"):
os.mkdir(f"{path}\{name}")
# 将文件复制到各自对应的文件夹中。
shutil.copy(file,f"{path}\{name}")
登录后复制

结果如下:

用Python写了个小工具,再复杂的文件夹,分分钟帮你整理!

展望

本文的代码,黄已经分享给大家了。但是我没有为这段代码制作一个可视化界面。同时,我还希望大家可以将程序打包,到时候直接发给其他人,就可以直接使用了。

以上是用Python写了个小工具,再复杂的文件夹,分分钟帮你整理!的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

okx全球站登录入口 欧易okx全球站官方登录首页 okx全球站登录入口 欧易okx全球站官方登录首页 Apr 21, 2025 pm 11:57 PM

欧易 OKX 是全球领先的数字资产交易平台。1) 其发展历程包括:2017年上线,2021年启用中文名“欧易”,2022年更名为欧易 OKX。2) 核心服务包括:交易服务(币币、杠杆、合约、DEX、法币交易)和金融服务(余币宝、DeFi挖矿、借贷)。3) 平台特色功能有:行情数据服务和风控体系。4) 核心优势包括:技术实力、安全体系、服务支持和市场覆盖。

币圈合约党必备软件推荐 币圈合约党必备软件推荐 Apr 21, 2025 pm 11:21 PM

2025年币圈合约交易所平台排名前十的分别是:1. Binance Futures,2. OKX Futures,3. Gate.io,4. Huobi Futures,5. BitMEX,6. Bybit,7. Deribit,8. Bitfinex,9. CoinFLEX,10. Phemex,这些平台因其高流动性、多样化交易功能和严格的安全措施而受到广泛认可。

币圈杠杆交易所排名 币圈十大杠杆交易所APP最新推荐 币圈杠杆交易所排名 币圈十大杠杆交易所APP最新推荐 Apr 21, 2025 pm 11:24 PM

2025年在杠杆交易、安全性和用户体验方面表现突出的平台有:1. OKX,适合高频交易者,提供最高100倍杠杆;2. Binance,适用于全球多币种交易者,提供125倍高杠杆;3. Gate.io,适合衍生品专业玩家,提供100倍杠杆;4. Bitget,适用于新手及社交化交易者,提供最高100倍杠杆;5. Kraken,适合稳健型投资者,提供5倍杠杆;6. Bybit,适用于山寨币探索者,提供20倍杠杆;7. KuCoin,适合低成本交易者,提供10倍杠杆;8. Bitfinex,适合资深玩

混合型区块链交易平台有哪些 混合型区块链交易平台有哪些 Apr 21, 2025 pm 11:36 PM

选择加密货币交易所的建议:1. 流动性需求,优先选择币安、Gate.io或OKX,因其订单深度与抗波动能力强。2. 合规与安全,Coinbase、Kraken、Gemini具备严格监管背书。3. 创新功能,KuCoin的软质押和Bybit的衍生品设计适合进阶用户。

推荐几款买主流币的app软件2025年最新发布 推荐几款买主流币的app软件2025年最新发布 Apr 21, 2025 pm 11:54 PM

可以购买主流币的APP软件包括:1. 币安(Binance),全球领先,交易量大,速度快;2. OKX,创新产品,低费用,安全性高;3. Gate.io,多种资产和交易选项,注重安全;4. 火币(HTX),低费用,用户体验好;5. Coinbase,适合新手,安全性高;6. Kraken,安全合规,提供多种服务;7. KuCoin,低费用,适合专业交易者;8. Gemini,强调合规性,提供托管服务;9. Crypto.com,提供多种优惠和服务;10. Bitstamp,老牌交易所,流动性强,

全球比特币期货交易所是哪个? 全球比特币期货交易所是哪个? Apr 21, 2025 pm 11:18 PM

比特币期货交易所排行榜前五名分别是:1. CME Group:全球最值得信赖,吸引机构投资者,合规性强;2. Coinbase:专为散户,提供13种期货合约,易用性高;3. Binance:高杠杆,流动性好,用户量大;4. OKX:累计交易量大,专业界面,风险管理完善;5. Kraken:安全性高,适合欧洲市场和机构客户。

量子链交易所排名top10推荐(2025更新) 量子链交易所排名top10推荐(2025更新) Apr 21, 2025 pm 11:48 PM

量子链可以在以下交易所进行交易:1. 币安(Binance):全球最大交易所之一,交易量大,币种丰富,安全性高。2. 芝麻开门(Gate.io):大型交易所,提供多种数字货币交易,交易深度好。3. 欧易(OKX):由OK集团运营,综合实力强,交易量大,安全措施完善。4. Bitget:发展快,提供量子链交易,安全性提升。5. Bithumb:日本运营,支持多种主流虚拟货币交易,安全可靠。6. 抹茶交易所:知名交易所,界面友好,支持量子链交易。7. 火币(Huobi):大型交易所,提供量子链交易,

2025全球最佳加密货币交易所:顶级推荐 2025全球最佳加密货币交易所:顶级推荐 Apr 21, 2025 pm 10:39 PM

2025年全球最佳加密货币交易所推荐为:1. 币安 (Binance),2. Coinbase,3. 欧易 (OKX),4. Kraken,5. 芝麻开门 (KuCoin),6. Bitget,7. Bybit,8. Gemini,9. Crypto.com,10. MEXC 抹茶交易所,这些交易所在安全性、用户体验、交易费用、币种选择、交易功能、合规性、创新能力和全球覆盖等方面表现优异,适合不同需求的投资者。

See all articles