当前位置: 代码网 > it编程>前端脚本>Python > 基于Python实现一键自动整理桌面

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

2026年02月04日 Python 我要评论
前言我这个人比较懒,总是喜欢把收到的重要文件,或者比较紧急的文件放到桌面久而久之,桌面或者文件夹越来越乱不知道大家是不是像我一样的原因之所以放在桌面上,主要是为了下次使用的时候好找但是,其实,结果&h

前言

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

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

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

原因

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

解决

  • 不过还好我会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", ".ogg", ".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                                                                                                                                                                                                          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文件位置

整理效果如下

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

加界面的完整代码

现在就方便大家使用了

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.lower()

        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桌面整理的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com