Jadual Kandungan
Senario aplikasi
Kod sumber
Perihalan kod sumber
Kesannya adalah seperti berikut
Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk melaksanakan alat organisasi dokumen automatik berdasarkan Python

Bagaimana untuk melaksanakan alat organisasi dokumen automatik berdasarkan Python

May 13, 2023 pm 03:13 PM
python

Senario 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()
Salin selepas log masuk

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

Bagaimana untuk melaksanakan alat organisasi dokumen automatik berdasarkan Python

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kelebihan dan kekurangan templat? Apakah kelebihan dan kekurangan templat? May 08, 2024 pm 03:51 PM

Apakah kelebihan dan kekurangan templat?

Cara Muat turun DeepSeek Xiaomi Cara Muat turun DeepSeek Xiaomi Feb 19, 2025 pm 05:27 PM

Cara Muat turun DeepSeek Xiaomi

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Jul 01, 2024 am 07:22 AM

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 Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3 May 06, 2024 pm 03:52 PM

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 Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

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

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang May 06, 2024 pm 02:00 PM

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang

Bagaimana anda bertanya kepadanya Deepseek Bagaimana anda bertanya kepadanya Deepseek Feb 19, 2025 pm 04:42 PM

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai Bagaimana untuk menyimpan fungsi menilai May 07, 2024 am 01:09 AM

Bagaimana untuk menyimpan fungsi menilai

See all articles