[LINUX] Python-Programm, das nach demselben Dateinamen sucht

Suchen Sie in der Ordnerhierarchie (Verzeichnis) nach gleichnamigen Dateien

Wenn die Anzahl der Ordner und die Hierarchie groß sind, werden Dateien versehentlich dupliziert, und ähnliche und nicht ähnliche Dateien verbleiben in der Hierarchie, was zu Problemen beim Suchen oder Bearbeiten führen kann.

Als ich eine Textdatei, die ich eine Weile verwendet hatte, zu einer Notebook-App brachte, die die Hierarchie mechanisch verwalten kann, und sie zu einer anderen Notebook-App brachte, gab es anscheinend mehrere Dateien mit demselben Namen. Zu diesem Zeitpunkt habe ich ein Programm zum Erstellen einer Dateiliste geschrieben, damit es einfacher ist, die gleichnamige Datei zu finden, um sie zu bereinigen.

Programmspezifikationen

So ein Ort. Sie können auch eine vollständige Liste (in der Reihenfolge des Dateinamens aufgelistet) ausgeben und visuell bestimmen, welche markiert und welche nicht markiert sind, aber ähnliche Namen haben. Ich tat. (Wenn es dir nicht gefällt, schau dir einfach die markierten an.)

Listenerstellungsprogramm (Python)

Die Liste wird erstellt, indem der Dateiname und der Ordnername durch ":" getrennt werden. In aufsteigender Reihenfolge der Dateinamen anordnen. Wenn es denselben Dateinamen gibt (vor der Erweiterung), fügen Sie am Ende "\ ***** duplizierte Datei ?? ****" hinzu. Der zu untersuchende Ordner wird mit dem aktuellen Ordner als oberster Ebene durchsucht. Der Dateiname der Ausgabeliste lautet "out.txt", und der UTF-8-Zeilenumbruch ist nur LF. Ändern Sie ihn daher entsprechend Ihrer Umgebung.

Ich bin noch neu in Python, also habe ich es geschafft, indem ich Informationen von verschiedenen Websites kombiniert habe. Ihre Meinungen und Professoren sind willkommen.

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

Python-Programm, das nach demselben Dateinamen sucht
Programm zur Suche nach demselben Bild
Legen Sie den Prozessnamen des Python-Programms fest
[Python] Ein Programm, das die Partitur rundet
[Python] Ich habe versucht, den Funktionsnamen durch den Funktionsnamen zu ersetzen
[Python] Ein Programm, das die Anzahl der Täler zählt
[Python] Ein Programm, das die Positionen von Kängurus vergleicht.
[Python] Ändern Sie den Namen der Bilddatei in eine Seriennummer
Verschiedene Hinweise zur Verwendung von Python für Projekte
[Python] Ein Programm, das die häufigsten Vogeltypen findet
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
Versuchen Sie, die verstümmelten Zeichen im angehängten Dateinamen mit Python zu entschlüsseln
Extrahieren Sie die xz-Datei mit Python
Speichern Sie die Binärdatei in Python
Problemumgehung für sys.argv wird nicht übergeben, wenn ein Python-Skript mit nur dem Dateinamen unter Python2.7 unter Windows ausgeführt wird
Verstehen Sie die Wahrscheinlichkeiten und Statistiken, die für das Fortschrittsmanagement mit einem Python-Programm verwendet werden können
[Ev3dev] Erstellen Sie ein Programm, das das LCD (Bildschirm) mit Python erfasst
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Extrahieren Sie die Targz-Datei mit Python
Python vba zum Erstellen einer Datumszeichenfolge zum Erstellen eines Dateinamens
Siehe Python zum ersten Mal
Hinweise zur Eingabe / Ausgabe von Python-Dateien
Wofür ist der Python-Unterstrich (_)?
Python Hinweis: Map - Machen Sie dasselbe für jedes Element der Liste
Holen Sie sich den Hostnamen in Python
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Befehl für das aktuelle Verzeichnis Python
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Überprüfen Sie den Dateinamen, wenn Sie durch Python-Import nicht informiert werden
Der Dateiname war in Python schlecht und ich war süchtig nach Import
Den Namen der Methode, die ihn aufgerufen hat, finden Sie in der Python-Methode
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Python / numpy> Lesen Sie die Datendatei mit der Elementnamenzeile> Verwenden Sie genfromtxt ()
Einführung in das BOT-Framework Minette für Python
Überprüfen Sie die Existenz der Datei mit Python
Python3 + Pyperclip, der den kopierten Text neu schreibt
Starten Sie den Discord Python-Bot 24 Stunden lang.
Lesen wir die RINEX-Datei mit Python ①
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
MongoDB mit Python zum ersten Mal
[Python] Generieren einer Sequenz, die dieselben Elemente berücksichtigt
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Effektiv Python war effektiv, wie der Name schon sagt
Hashing-Algorithmus zur Bestimmung des gleichen Bildes
[Python] Ruft den Zeichencode der Datei ab
Ein Programm, das Python zum Abspielen von Junk verwendet
[Python] Lesen Sie die angegebene Zeile in der Datei
Download-Datei für Python Selen Chrome überschreiben
Python open und io.open sind gleich
[Python3] Grundlegendes zu Dateivorgängen
[Python] Ich habe eine App erstellt, die automatisch die Audiodatei jedes Wortes herunterlädt, das für die Englisch-Lern-App verwendet wird.
Python Ich weiß nicht, wie ich den Druckernamen bekomme, den ich normalerweise benutze.
Sind Php / Ruby / Python, die nur ausgeführt werden, wenn die Datei direkt aufgerufen wird
Python / Unterprozess> Symbolischer Link Implementierung, um nur den Zieldateinamen abzurufen> os.readlink ()
[Python] Ein Programm, das die minimalen und maximalen Werte ohne Verwendung von Methoden findet
[Python] Ein Programm, das die Differenz zwischen diagonalen Gesamtwerten berechnet