基于Python实现一键自动整理桌面

发布时间: 2026-02-04 10:16:10 来源: 互联网 栏目: python 点击: 3

《基于Python实现一键自动整理桌面》这篇文章主要为大家详细介绍了如何基于Python实现一键自动整理桌面,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...

前言

我这个人比较懒,总是喜欢把收到的重要文件,或者比较紧急的文件放到桌面

久而久之,桌面或者文件夹越来越乱

不知道大家是不是像我一样的

基于Python实现一键自动整理桌面

原因

  • 之所以放在桌面上,主要是为了下次使用的时候好找
  • 但是,其实,结果…并没有
  • 结果,我的马马~~
  • 反而更难找了
  • 也不知道越乱越好找这句话是谁第一个传出来的!!!

解决

  • 不过还好我会python,直接写了一个脚本,用来整理桌面或者文件夹。
  • python脚本里的文件类型
  • 我们可以自己根据需要进行扩展

效果展示

基于Python实现一键自动整理桌面

原理

格式定义

首先,将我们要整理的文件格式进行一下分类,如下。

大家可以根据自己的实际要求,对需要格式的文件类型进行自定义。

{
	"图片资料": [".jpg", ".jpeg", ".bmp", ".png", ".gif", ".tiff", ".svg", ".webp"],
	"文档资料": [
		".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md",
		".odt", ".rtf", ".wps", ".csv", ".epub"
	],
	"视频文件": [".mp4", ".avi", ".wmv", ".mov", ".mkv", ".flv", ".webm", ".mpeg"],
	"音频文件": [".mp3", ".wav", ".aac", ".og轻语网g", ".flac", ".m4a", ".wma"],
	"压缩文件": [".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".xz", ".lz"],
	"脚本文件": [".ps1", ".sh", ".BAT", ".py", ".rb", ".php", ".js", ".html"],
	"可执行文件": [".exe", ".msi", ".app", ".bat"],
	"网页文件": [".html", ".XML", ".mhtml", ".css", ".js"],
	"快捷方式": [".lnk"],
	"字体文件": [".ttf", ".otf", ".woff", ".woff2"],
	"数据库文件": [".db", ".sql", ".SQLite"],
	"虚拟机文件": [".vmdk", ".vdi", ".iso"],
	"系统文件": [".dll", ".sys", ".ini", ".cfg"],
	"日志文件": [".log"]
}

遍历要整理的文件夹

# 定义要整理的文件夹
orginizePath='轻语网D:\\direct'
print(os.scandir(orginizePath))
 
# 循环整理的文件夹
# 完整源码自取裙 592539176
for myfile in os.scandir(orginizePath):
    # 跳过文件夹
    if myfile.is_dir():
        print('%s是文件夹'%myfile)
        continue
    # 输出文件的名
    print(myfile.name)

整理文件夹

通过,我们定义的格式类型,创建相应的文件夹。

例如:定义的图片资料类型。

"图片资料":[".jpg",".jpeg",".bpm",'.png','.gif']

如果检测到用包含的.jpg 等格式的文件,我们就创建一个 图片资料文件夹。

然后将文件夹中的 .jpg格式的文件,移动到 图片资料文件夹中。

#找到要整理的文件路径
file_path=Path(orginizePath+'\\'+myfile.name)
lower_file_path=file_path.suffix.lo                                                                                                                                                                                    FuWakSUTmH                      wer()
#循环遍历我们定义的格式类型
for geshi in FILE_FORMATS:
    if lower_file_path in FILE_FORMATS[geshi]:
        directory_path=Path(orginizePath+'\\'+geshi)
        directory_path.mkdir(exist_ok=True)
        file_path.rename(directory_path.joinpath(myfile.name))
        print('文件整理已完成!')

脚本运行方法

直接,使用Python + 脚本运行即可。

python py文件位置

整理效果如下

直接将脚本中的文件路径,改成轻语网你要整理的路径即可。

基于Python实现一键自动整理桌面

加界面的完整代码

基于Python实现一键自动整理桌面

现在就方便大家使用了

import os
from pathlib import Path
import tkinter as tk
from tkinter import filedialog, messagebox

# 定义不同类型的文件格式
FILE_FORMATS = {
    "图片资料": [".jpg", ".jpeg", ".bmp", ".png", ".gif"],
    "文档资料": [".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", "file_formats.txt.txt", ".md"],
    "视频文件": [".mp4", ".avi", ".wmv"],
    "音频文件": [".mp3"],
    "压缩文件": [".rar", ".zip", ".tar", ".gz", ".7z", ".bz2"],
    "脚本文件": [".ps1", ".sh", ".bat", ".py"],
    "可执行文件": [".exe", ".msi"],
    "网页文件": [".html", ".xml", ".mhtml"],
    "快捷方式": [".lnk"],
}

def organize_files(folder_path):
    for myfile in os.scandir(folder_path):
        if myfile.is_dir():
            continue

        file_path = Path(folder_path) / myfile.name
        lower_file_path = file_path.suffix.lphpower()

        for geshi in FILE_FORMATS:
            if lower_file_path in FILE_FORMATS[geshi]:
                directory_path = Path(folder_path) / geshi
                directory_path.mkdir(exist_ok=True)
                file_path.rename(directory_path / myfile.name)
                break

    messagebox.showinfo("完成", "文件整理已完成!")

def select_folder():
    folder_path = filedialog.askdirectory()
    if folder_path:
        organize_files(folder_path)

# 创建主窗口
root = tk.Tk()
root.title("文件整理工具")
root.geometry("400x200")  # 设置窗口大小
root.resizable(False, False)  # 禁止改变窗口大小
root.configure(bg="#f0f0f0")  # 设置背景颜色

# 创建标题标签
title_label = tk.Label(root, text="文件整理工具", font=("楷体", 16), bg="#f0f0f0")
title_label.pack(pady=20)

# 创建选择文件夹按钮
select_button = tk.Button(root, text="选择要整理的文件夹", command=select_folder)
select_button.pack(pady=10)

# 创建退出按钮
exit_button = tk.Button(root, text="退出", command=root.quit)
exit_button.pack(pady=10)

# 启动主循环
root.mainloop()

以上就是基于Python实现一键自动整理桌面的详细内容,更多关于Python桌面整理的资料请关注轻语网(www.qingyu.net)其它相关文章!

本文标题: 基于Python实现一键自动整理桌面
本文地址: http://www.qingyu.net/jiaoben/python/732495.html

如果本文对你有所帮助,在这里可以打赏

支付宝二维码微信二维码

  • 支付宝二维码
  • 微信二维码
  • 声明:凡注明"本站原创"的所有文字图片等资料,版权均属轻语网所有,欢迎转载,但务请注明出处。
    python中类装饰器的实现示例python的metaclass关键字详解
    Top