Heim  >  Artikel  >  Backend-Entwicklung  >  Ich habe ein kleines Tool in Python geschrieben, mit dem Sie selbst komplexe Ordner in wenigen Minuten organisieren können!

Ich habe ein kleines Tool in Python geschrieben, mit dem Sie selbst komplexe Ordner in wenigen Minuten organisieren können!

WBOY
WBOYnach vorne
2023-04-11 20:19:181431Durchsuche

Ich habe ein kleines Tool in Python geschrieben, mit dem Sie selbst komplexe Ordner in wenigen Minuten organisieren können!

Es ist scheiße

Ich gebe zu, dass ich kein Mensch bin, der seinen Desktop gerne organisiert, weil ich denke, dass ein unordentlicher Desktop das Auffinden von Dateien erleichtert.

Haha, aber der Desktop ist in letzter Zeit so unordentlich, dass ich ihn nicht einmal mehr sehen kann, er nimmt fast den gesamten Bildschirm ein. Obwohl es viele Softwareprogramme gibt, mit denen ich den Desktop mit einem Klick organisieren kann, muss ich Dateien auch in anderen Pfaden organisieren. Deshalb habe ich mir überlegt, Python zu verwenden, um diese Anforderung zu erfüllen.

Ich habe ein kleines Tool in Python geschrieben, mit dem Sie selbst komplexe Ordner in wenigen Minuten organisieren können!

Effektanzeige

Ich habe die Dateien in 9 Hauptkategorien unterteilt, nämlich Bilder, Videos, Audios, Dokumente, komprimierte Dateien, gängige Formate, Programmskripte, ausführbare Programme und Schriftartdateien.

# 不同文件组成的嵌套字典
file_dict = {
'图片': ['jpg','png','gif','webp'],
'视频': ['rmvb','mp4','avi','mkv','flv'],
"音频": ['cd','wave','aiff','mpeg','mp3','mpeg-4'],
'文档': ['xls','xlsx','csv','doc','docx','ppt','pptx','pdf','txt'],
'压缩文件': ['7z','ace','bz','jar','rar','tar','zip','gz'],
'常用格式': ['json','xml','md','ximd'],
'程序脚本': ['py','java','html','sql','r','css','cpp','c','sas','js','go'],
'可执行程序': ['exe','bat','lnk','sys','com'],
'字体文件': ['eot','otf','fon','font','ttf','ttc','woff','woff2']
}

file_dict ist ein von Ihnen definiertes Wörterbuch, das Formate enthält, die in unserem Studium und unserer Arbeit häufig verwendet werden. Die häufig verwendeten Formate müssen jedem erklärt werden. Dateien, die häufig verwendet werden, aber nicht wissen, in welche Kategorie sie eingeordnet werden sollen, werden hier gespeichert.

Hinweis: Wenn Ihr Computer über mehr Dateiformate verfügt, müssen Sie nur das obige file_dict-Wörterbuch ändern.

Entwicklungsideen

Die Entwicklung eines so kleinen Tools erfordert insgesamt drei Python-Bibliotheken, nämlich das OS-Modul, das Shutil-Modul und das Glob-Modul. Sie werden zusammen verwendet, um Dateien und Ordner zu verarbeiten.

Die allgemeine Idee des gesamten Entwicklungsschritts ist folgende:

  • ① Beliebig gegebener Dateipfad;
  • ② Holen Sie sich alle Dateien unter dem aktuellen Dateipfad und erhalten Sie das Suffix, das jeder Datei entspricht;
  • ③ Beurteilen Sie every Gibt an, ob sich die Datei im angegebenen verschachtelten Wörterbuch befindet und gibt die entsprechende Dateikategorie zurück.
  • ④ Bestimmen Sie, ob der Ordner jeder Dateikategorie vorhanden ist. Da neue Ordner erstellt werden müssen, um Dateien in Kategorien zu speichern
  • ⑤ Kopieren Sie jede Datei in die entsprechende Kategorie

Der vollständige Code lautet wie folgt: [Mit detaillierten Notizen]

# 导入相关库
import os
import glob
import shutil
# 采用input()函数,动态输入要处理的文件路径。
path = input("请输入要清理的文件路径:")
# 定义一个文件字典,不同的文件类型,属于不同的文件夹,一共9个大类。
file_dict = {
'图片': ['jpg','png','gif','webp'],
'视频': ['rmvb','mp4','avi','mkv','flv'],
"音频": ['cd','wave','aiff','mpeg','mp3','mpeg-4'],
'文档': ['xls','xlsx','csv','doc','docx','ppt','pptx','pdf','txt'],
'压缩文件': ['7z','ace','bz','jar','rar','tar','zip','gz'],
'常用格式': ['json','xml','md','ximd'],
'程序脚本': ['py','java','html','sql','r','css','cpp','c','sas','js','go'],
'可执行程序': ['exe','bat','lnk','sys','com'],
'字体文件': ['eot','otf','fon','font','ttf','ttc','woff','woff2']
}

# 定义一个函数,传入每个文件对应的后缀。判断文件是否存在于字典file_dict中;
# 如果存在,返回对应的文件夹名;如果不存在,将该文件夹命名为"未知分类";
def func(suffix):
for name, type_list in file_dict.items():
if suffix.lower() in type_list:
return name
return "未知分类"
# 递归获取 "待处理文件路径" 下的所有文件和文件夹。
for file in glob.glob(f"{path}/**/*",recursive=True):
 # 由于我们是对文件分类,这里需要挑选出文件来。
if os.path.isfile(file):
 # 由于isfile()函数,获取的是每个文件的全路径。这里再调用basename()函数,直接获取文件名;
file_name = os.path.basename(file)
suffix = file_name.split(".")[-1]
# 判断 "文件名" 是否在字典中。
name = func(suffix)
#print(func(suffix))
# 根据每个文件分类,创建各自对应的文件夹。
if not os.path.exists(f"{path}\{name}"):
os.mkdir(f"{path}\{name}")
# 将文件复制到各自对应的文件夹中。
shutil.copy(file,f"{path}\{name}")

Die Ergebnisse sind wie folgt:

Ich habe ein kleines Tool in Python geschrieben, mit dem Sie selbst komplexe Ordner in wenigen Minuten organisieren können!

Vorausschauend

Huang hat den Code dieses Artikels mit allen geteilt. Aber ich habe keine visuelle Schnittstelle für diesen Code erstellt. Gleichzeitig hoffe ich auch, dass jeder das Programm verpacken und direkt an andere senden kann, damit diese es direkt nutzen können.

Das obige ist der detaillierte Inhalt vonIch habe ein kleines Tool in Python geschrieben, mit dem Sie selbst komplexe Ordner in wenigen Minuten organisieren können!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen