[LINUX] Programme Python qui recherche le même nom de fichier

Rechercher des fichiers portant le même nom dans la hiérarchie des dossiers (répertoires)

Si le nombre de dossiers et la hiérarchie sont importants, les fichiers sont dupliqués par inadvertance et des fichiers similaires et non similaires restent dans la hiérarchie, ce qui a tendance à poser des problèmes lors de la recherche ou de la modification.

En fait, lorsque j'ai pris un fichier texte que j'utilisais depuis un certain temps dans une application de bloc-notes capable de gérer la hiérarchie mécaniquement et que je l'ai transféré vers une autre application de bloc-notes, il semblait qu'il y avait plusieurs fichiers avec le même nom. À ce moment, j'ai écrit un programme pour créer une liste de fichiers afin qu'il soit plus facile de trouver le fichier avec le même nom afin de le nettoyer.

Spécifications du programme

Un tel endroit. Vous pouvez également générer une liste complète (classée par ordre de nom de fichier) et déterminer visuellement ceux qui sont marqués et ceux qui ne sont pas marqués mais qui ont des noms similaires. J'ai fait. (Si vous ne l'aimez pas, regardez simplement ceux marqués)

Programme de création de liste (Python)

La liste est créée en séparant le nom du fichier et le nom du dossier par ":". Disposer par ordre croissant des noms de fichiers. S'il y a le même nom de fichier (avant l'extension), ajoutez "\ ***** fichier dupliqué ?? ****" à la fin. Le dossier à examiner est recherché avec le dossier actuel comme niveau supérieur. Le nom de fichier de la liste de sortie est "out.txt", et le saut de ligne UTF-8 est uniquement LF, veuillez donc le modifier en fonction de votre environnement.

Je suis encore nouveau dans Python, donc je l'ai fait en combinant des informations provenant de divers sites Web. Vos opinions et professeurs sont les bienvenus.

ListDupFile.py


#!/usr/bin/python
# -*- coding: utf-8 -*-

import codecs
import os

oList = []
odata = ""
prev = "...."

for root, dirs, files in os.walk(u'.'):
	for file_ in files:
		filename = file_
		itm = filename + u' : ' + root
		oList.append(itm)
oList.sort()
for data_ in oList:
	wList = data_.split('.')
	if prev in wList[0] :
		data_ = data_ + "  ***** duplicated file?? ****"
	prev = wList[0]
	odata = odata + data_ + "\n"
fout = codecs.open(u'out.txt',"w","utf-8")
fout.write(odata)
fout.close()

Recommended Posts

Programme Python qui recherche le même nom de fichier
Programme pour rechercher la même image
Définissez le nom du processus du programme Python
[Python] Un programme qui arrondit le score
[Python] J'ai essayé de remplacer le nom de la fonction par le nom de la fonction
[Python] Un programme qui compte le nombre de vallées
[Python] Un programme qui compare les positions des kangourous.
[python] Remplacez le nom du fichier image par un numéro de série
Notes diverses sur l'utilisation de python pour les projets
[Python] Un programme qui trouve les types d'oiseaux les plus courants
Google recherche la chaîne sur la dernière ligne du fichier en Python
Essayez de déchiffrer les caractères déformés dans le nom du fichier joint avec Python
Extraire le fichier xz avec python
Enregistrez le fichier binaire en Python
Solution de contournement pour sys.argv non transmise lors de l'exécution d'un script Python avec uniquement le nom de fichier sur Python2.7 sous Windows
Comprendre les probabilités et les statistiques qui peuvent être utilisées pour la gestion des progrès avec un programme python
[Ev3dev] Créez un programme qui capture LCD (écran) en utilisant python
Lisez le fichier en Python avec un chemin relatif depuis le programme
Extraire le fichier targz en utilisant python
Python vba pour créer une chaîne de date pour créer un nom de fichier
Voir python pour la première fois
Notes pour l'entrée / sortie de fichier Python
À quoi sert le trait de soulignement Python (_)?
python Remarque: map -faire la même chose pour chaque élément de la liste
Obtenez le nom d'hôte en Python
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
Commande pour le répertoire courant Python
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Vérifiez le nom du fichier si l'importation Python vous dit que vous ne pouvez pas
Le nom du fichier était mauvais en Python et j'étais accro à l'importation
Découvrez le nom de la méthode qui l'a appelée à partir de la méthode qui est python
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
Python / numpy> Lire le fichier de données avec la ligne de nom d'élément> Utiliser genfromtxt ()
Présentation du framework BOT Minette pour Python
Vérifier l'existence du fichier avec python
Python3 + pyperclip qui réécrit le texte copié
Lancez le bot Discord Python pendant 24 heures.
Lisons le fichier RINEX avec Python ①
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
MongoDB avec Python pour la première fois
[python] Générer une séquence qui considère les mêmes éléments
Pandas du débutant, par le débutant, pour le débutant [Python]
Python efficace était efficace comme son nom l'indique
Algorithme de hachage pour déterminer la même image
[Python] Récupère le code de caractère du fichier
Un programme qui utilise Python pour lire des fichiers indésirables
[Python] Lire la ligne spécifiée dans le fichier
Écraser le fichier de téléchargement pour python selenium Chrome
Python open et io.open sont les mêmes
[Python3] Comprendre les bases des opérations sur les fichiers
[Python] J'ai créé une application qui télécharge automatiquement le fichier audio de chaque mot utilisé pour l'application d'étude d'anglais.
python Je ne sais pas comment obtenir le nom de l'imprimante que j'utilise habituellement.
Sont Php / Ruby / Python qui ne s'exécute que lorsque le fichier est appelé directement
Python / subprocess> Implémentation de lien symbolique pour obtenir uniquement le nom du fichier de destination> os.readlink ()
[Python] Un programme qui trouve les valeurs minimales et maximales sans utiliser de méthodes
[Python] Un programme qui calcule la différence entre les valeurs totales diagonales