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

作者:

文章目录
  • 我这个人比较懒,总是喜欢把收到的重要文件,或者比较紧急的文件放到桌面 久而久之,桌面或者文件夹越来越乱 不知道大家是不是像我一样的
  • 之所以放在桌面上,主要是为了下次使用的时候好找 但是,其实,结果…并没有 结果,我的马马~~ 反而更难找了 也不知道越乱越好找这句话是谁第一个传出来的!!!
  • 不过还好我会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.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(“400×200″) # 设置窗口大小 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桌面整理的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: Python结合wxPython开发一个智能桌面整理助手 基于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", ".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桌面整理的资料请关注风君子博客其它相关文章!

      您可能感兴趣的文章:

      • Python结合wxPython开发一个智能桌面整理助手
      • 基于Python制作一键桌面整理工具
      • 使用Python实现桌面便签与待办事项管理工具
      • Python桌面文件清理脚本分享

      站内搜索