


Bagaimana untuk melaksanakan alat organisasi dokumen automatik berdasarkan Python
May 13, 2023 pm 03:13 PMSenario aplikasi
Organisasi fail peribadi: Individu menyimpan sejumlah besar foto, video dan fail dokumen pada komputer mereka Fail ini mungkin berselerak dalam folder yang berbeza folder dan dikelaskan mengikut jenis fail untuk pengurusan dan carian yang mudah.
Pemprosesan fail kelompok: Semua fail dalam folder perlu diproses secara berkelompok, seperti menukar fail video kepada format tertentu, mengurangkan fail imej kepada saiz tertentu, dsb.
Sandaran data: Sandarkan data penting ke peranti storan luaran dan simpannya mengikut jenis fail, seperti menyandarkan foto ke satu folder, menyandarkan fail dokumen ke folder lain, dsb.
Organisasi fail pelayan: Untuk pelayan yang mengandungi sejumlah besar fail, anda boleh menggunakan program ini untuk menyusun fail ke dalam folder yang sepadan untuk pengurusan dan carian yang mudah.
Pembersihan Data: Bersihkan fail yang tidak diperlukan pada komputer anda, seperti membersihkan fail sementara dalam folder muat turun, membersihkan sampah, dsb.
Pemprosesan log: Susun jenis fail log tertentu ke dalam folder berbeza untuk tontonan dan analisis yang mudah.
Kod sumber
import os import shutil import wx class FileOrganizer(wx.Frame): def __init__(self, parent, title): super(FileOrganizer, self).__init__(parent, title=title, size=(500, 300)) panel = wx.Panel(self) self.current_dir = os.getcwd() # 创建按钮用来选择文件夹 select_folder_btn = wx.Button(panel, label="选择文件夹", pos=(10, 10)) select_folder_btn.Bind(wx.EVT_BUTTON, self.on_select_folder) # 创建按钮用来开始整理文件夹 organize_btn = wx.Button(panel, label="整理文件夹", pos=(10, 50)) organize_btn.Bind(wx.EVT_BUTTON, self.on_organize) # 创建文本框显示当前文件夹路径 self.dir_text = wx.StaticText(panel, label=self.current_dir, pos=(10, 100)) self.Show() def on_select_folder(self, event): dlg = wx.DirDialog(self, "选择文件夹", style=wx.DD_DEFAULT_STYLE) if dlg.ShowModal() == wx.ID_OK: self.current_dir = dlg.GetPath() self.dir_text.SetLabel(self.current_dir) dlg.Destroy() def on_organize(self, event): # 创建文件夹 photos_dir = os.path.join(self.current_dir, "photos") if not os.path.exists(photos_dir): os.makedirs(photos_dir) documents_dir = os.path.join(self.current_dir, "documents") if not os.path.exists(documents_dir): os.makedirs(documents_dir) videos_dir = os.path.join(self.current_dir, "videos") if not os.path.exists(videos_dir): os.makedirs(videos_dir) shortcuts_dir = os.path.join(self.current_dir, "shortcuts") if not os.path.exists(shortcuts_dir): os.makedirs(shortcuts_dir) # 遍历文件夹 for filename in os.listdir(self.current_dir): filepath = os.path.join(self.current_dir, filename) if os.path.isfile(filepath): ext = os.path.splitext(filename)[1].lower() if ext in (".jpg", ".jpeg", ".png", ".gif"): shutil.move(filepath, os.path.join(photos_dir, filename)) elif ext in (".doc", ".docx", ".pdf", ".txt"): shutil.move(filepath, os.path.join(documents_dir, filename)) elif ext in (".mp4", ".avi", ".mov", ".wmv"): shutil.move(filepath, os.path.join(videos_dir, filename)) elif ext == ".lnk": shutil.move(filepath, os.path.join(shortcuts_dir, filename)) wx.MessageBox("文件夹整理完成!", "提示", wx.OK | wx.ICON_INFORMATION) if __name__ == "__main__": app = wx.App() FileOrganizer(None, title="文件整理工具") app.MainLoop()
Perihalan kod sumber
Dalam kod ini, kami mencipta antara muka GUI wxPython, termasuk dua butang dan kotak teks. Klik butang "Pilih Folder" untuk muncul kotak dialog untuk memilih folder yang perlu disusun Klik butang "Atur Folder" untuk mula menyusun folder.
Mula-mula, kami mencipta empat folder: foto, dokumen, video, pintasan. Jika folder ini tidak wujud, kami mencipta folder ini menggunakan fungsi os.makedirs().
Kemudian, kami menggunakan fungsi os.listdir() untuk beralih melalui semua fail dalam folder. Jika fail adalah fail dan bukannya folder, kami mendapat sambungan fail dan mengalihkan fail ke folder yang sesuai berdasarkan sambungan. Kami menggunakan fungsi shutil.move() untuk mengalihkan fail dari lokasi asal ke lokasi baharu.
Akhir sekali, kami menggunakan fungsi wx.MessageBox() untuk muncul kotak gesaan selepas selesai.
Sila ambil perhatian bahawa kod ini hanya boleh memproses fail dalam direktori peringkat pertama Jika anda perlu memproses fail dalam subdirektori, anda perlu menggunakan fungsi rekursif.
Kesannya adalah seperti berikut
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan alat organisasi dokumen automatik berdasarkan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah kelebihan dan kekurangan templat?

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai
