Maison  >  Article  >  développement back-end  >  J'ai écrit un petit outil en Python pour vous aider à organiser des dossiers même complexes en quelques minutes !

J'ai écrit un petit outil en Python pour vous aider à organiser des dossiers même complexes en quelques minutes !

WBOY
WBOYavant
2023-04-11 20:19:181486parcourir

J'ai écrit un petit outil en Python pour vous aider à organiser des dossiers même complexes en quelques minutes !

C'est nul

J'avoue que je ne suis pas du genre à aimer organiser mon bureau, car je pense qu'un bureau en désordre facilite la recherche de fichiers.

Haha, mais le bureau est tellement en désordre ces derniers temps que je ne peux même plus le voir, il occupe presque tout l'écran. Bien qu'il existe de nombreux logiciels permettant d'organiser le bureau en un seul clic, je dois également organiser les fichiers dans d'autres chemins, j'ai donc pensé à utiliser Python pour répondre à cette exigence.

J'ai écrit un petit outil en Python pour vous aider à organiser des dossiers même complexes en quelques minutes !

Affichage des effets

J'ai divisé les fichiers en 9 grandes catégories, à savoir les images, les vidéos, les audios, les documents, les fichiers compressés, les formats courants, les scripts de programme, les programmes exécutables et les fichiers de polices.

# 不同文件组成的嵌套字典
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 est un dictionnaire défini par vous-même, qui contient des formats couramment utilisés dans notre étude et notre travail. Les formats couramment utilisés doivent être expliqués à tout le monde. Pour les fichiers qui sont souvent utilisés mais qui ne savent pas dans quelle catégorie les mettre, ils sont stockés ici.

Remarque : si votre ordinateur dispose de plusieurs formats de fichiers, il vous suffit de modifier le dictionnaire file_dict ci-dessus.

Idées de développement

Le développement d'un si petit outil implique un total de trois bibliothèques Python, à savoir le module os, le module Shutil et le module glob. Ils sont utilisés ensemble pour traiter des fichiers et des dossiers.

L'idée générale de toute l'étape de développement est la suivante :

  • ① Étant donné un chemin de fichier arbitrairement
  • ② Récupérez tous les fichiers sous le chemin de fichier actuel et obtenez le suffixe correspondant à chaque fichier
  • ③ Jugez ; each Indique si le fichier se trouve dans le dictionnaire imbriqué spécifié et renvoie la catégorie de fichier correspondante ;
  • ④ Détermine si le dossier de chaque catégorie de fichier existe. Parce que de nouveaux dossiers doivent être créés pour stocker les fichiers dans des catégories ;
  • ⑤ Copiez chaque fichier dans la catégorie correspondante

Le code complet est le suivant : [Avec des notes détaillées]

# 导入相关库
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}")

Les résultats sont les suivants :

J'ai écrit un petit outil en Python pour vous aider à organiser des dossiers même complexes en quelques minutes !

Pour l'avenir

Huang a partagé le code de cet article avec tout le monde. Mais je n'ai pas créé d'interface visuelle pour ce code. En même temps, j'espère également que tout le monde pourra emballer le programme et l'envoyer directement à d'autres afin qu'ils puissent l'utiliser directement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer