Trieur de fichier
Alain_de_loin
-
jee pee Messages postés 41520 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41520 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai comme mini projet de faire un trieur automatique de fichiers.
J'ai déjà cree la fonction qui vas permetre de tester et de cree des dossier pour ranger les fichiers automatiquement, et c'est là que j'ai besoin d'aide, comment trier les fichiers ?
PS : J'utilise le module os.
J'ai comme mini projet de faire un trieur automatique de fichiers.
J'ai déjà cree la fonction qui vas permetre de tester et de cree des dossier pour ranger les fichiers automatiquement, et c'est là que j'ai besoin d'aide, comment trier les fichiers ?
PS : J'utilise le module os.
Configuration: Windows / Chrome 99.0.4844.84
A voir également:
- Trieur de fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
Bonjour,
Le problème c'est que ton message est trop vague pour que nous puissions t'aider.
Bonne chance
Le problème c'est que ton message est trop vague pour que nous puissions t'aider.
- Sur quel critère veux-tu trier les fichiers ?
- Quels sont les paramètres d'entrée (le dossier à trier ?), les éventuels résultats de sortie ?
- As-tu commencé à écrire du code, et si oui peux-tu le partager ?
Bonne chance
# Le but est de crée un script pour ranger automatiquement des fichiers # dans le répertoire "C:\\Users\\default\\Downloads\\". Nous les trireons avec leur extenstions. import os import time # On definit une liste contenant les répertoires et les noms names_and_paths = { "C:\\Users\\default\\Downloads\\Excutables": "Executables", "C:\\Users\\default\\Downloads\\Fichers Texte": "Fichiers Texte", } def create_folders(folder, name_of_folder): try: if not os.path.exists(folder): # On crée le répertoire os.makedirs(folder) print(f'Création du fichier "{name_of_folder}" en cours...') time.sleep(3) print('Répertoire crée | ~ |') else: print(" \n ") # Si le dossier est déjà présent dans le dossier "Downloads" on traite l'erreur : except FileExistsError: print(' \n ') # On fait une boucle qui va, pour les arguments (folder, name_of_folder) dire que l'on veut prendre les objets # du dictionnaire 'names_and_paths' et répéter cette boucle autant de fs qu'il y a d'objets dans le dictionnaire. for (folder, name_of_folder) in names_and_paths.items(): create_folders(folder, name_of_folder)
Bonjour,
Plutôt que trier, j'utiliserais le terme classer. Classer (ou ranger ou déplacer) des fichiers vers un répertoire suivant leur type.
Là tu as créé les répertoires de destination. Il te faut donc faire une boucle sur la liste des fichiers du répertoire à traiter et les déplacer s'ils sont d'un type traité.
Voilà un exemple :
Avec 2 façons différentes de traiter le type de fichier. Je pense que dans ton dictionnaire, tu devrais avoir les extensions à traiter : .txt, .exe ... et que cette extension devrait être la clé du dictionnaire, et le nom du répertoire la valeur.
Plutôt que trier, j'utiliserais le terme classer. Classer (ou ranger ou déplacer) des fichiers vers un répertoire suivant leur type.
Là tu as créé les répertoires de destination. Il te faut donc faire une boucle sur la liste des fichiers du répertoire à traiter et les déplacer s'ils sont d'un type traité.
Voilà un exemple :
dir_orig="D:\\Users\\default\\Downloads\\" for name in os.listdir(dir_orig): name_full=os.path.join(dir_orig, name) print(name_full) if name.endswith(".txt") and os.path.isfile(name_full): print(name_full,"is file") if os.path.splitext(name)[1] == ".txt" and os.path.isfile(name_full): print(name_full,"is file")
Avec 2 façons différentes de traiter le type de fichier. Je pense que dans ton dictionnaire, tu devrais avoir les extensions à traiter : .txt, .exe ... et que cette extension devrait être la clé du dictionnaire, et le nom du répertoire la valeur.
Quand on lance le script, ça crée un dossier (s'il n'est pas déjà là), par exemple pour les exécutables ou les , etc... Puis on détecte s'il y a des fichiers dans le répertoire , et si oui, on les trie dans le(s) dossier(s) créé(s) au préalable (en utilisant par exemple ).
J'aimerais vous partager mon code, or je ne suis pas sur le bon ordinateur et je ne suis pas chez moi.
Je vous enverrai le code ce soir.