[PYTHON] Was tun, wenn Sie keine Dateien mit Indizes sortieren können?

Hallo ist weiß

Wenn ich eine solche Datei sortieren möchte, kann ich sie gut in der Datei sortieren, aber wenn ich versuche, sie mit Python usw. zu verarbeiten.

Die Reihenfolge kann von Ihrer Erwartung abweichen. .. ..

Ich stecke darin fest, also schreibe ich es als Memo für mich auf.

Ansatz

Stellen Sie eine zusätzliche 0000 vor den Index. Dies wird das Problem lösen.

Das manuelle Umschreiben aller Namen ist jedoch mühsam. Überlassen wir es also Python.

Als Voraussetzung sollten Sie nur die Indizes der Originaldatei hinzufügen.

ex)img32.png ⇒ img00032.png

Erforderliche Kenntnisse

  1. Dateinamen abrufen (mit os)
  2. Holen Sie sich Indizes von Namen (Verwendung von regulären Ausdrücken)
  3. Benennen Sie die Datei um (mit shutil)

ist. Es ist einfach, also lass es uns eins nach dem anderen beenden.

1. Holen Sie sich den Dateinamen (os)

Verwenden Sie etwas namens os, um den Dateinamen zu erhalten.

    import os
    file_dl = './File/'
    res = os.listdir(file_dl)

Allein damit konnte ich alle Namen der Dinge in der Datei abrufen, die sich in der Datei befand.

2. Erwerb von Indizes aus Namen (regulärer Ausdruck re)

Als nächstes erhalten wir den Index aus dem erhaltenen Dateinamen.

    import re
    file_index = re.search(r'\d{1,}', 'img012.png').group()

Hier werden nur Zahlen aus der Zeichenkette unter Verwendung eines sogenannten regulären Ausdrucks erhalten.

In diesem Fall wird nur 012 aus img012.png extrahiert und in file_index gespeichert.

3 Dateien verschieben (Shutil)

Benennen Sie es abschließend um und speichern Sie es mit shutil. Ich benenne es nur um und verschiebe es wieder an seinen ursprünglichen Speicherort.

    import shutil
    shutil.move(old_path,new_path)

Auf diese Weise konnte ich das, was sich in old_path befand, in new_path verschieben.

Zusammenfassung

Wenn Sie die oben genannten verbinden

    import os
    import shutil
    
    file_dl = './File/'
    name = 'img_name'
    #Holen Sie sich den Ordnernamen in die Datei
    res = os.listdir(file_dl)
    
    #Extrahieren Sie Dateien nacheinander mit der for-Anweisung.
    for target_name in res:
        #Kombinieren Sie den Dateipfad und den Dateinamen
        target_dl = file_dl + target_name
        #Extrahieren Sie nur Indizes mit regulären Ausdrücken
        target_index = int(re.search(r'\d{1,}', target_name).group())
        #Erstellen Sie einen neuen Dateinamen
        target_new_name = name+str("{0:05d}".format(target_index))+'.png'
        #Benennen Sie die Datei um und speichern Sie sie erneut
        shutil.move(target_dl,file_dl+target_new_name)

Recommended Posts

Was tun, wenn Sie keine Dateien mit Indizes sortieren können?
Was tun, wenn Sie pyaudio nicht mit pip #Python installieren können?
Was tun, wenn die Pipenv-Shell nicht mehr möglich ist?
Was tun, wenn Sie mit Maven kein Projekt erstellen können?
Was tun, wenn die Option -f von grep nicht funktioniert?
Was tun, wenn Sie nicht mit pip in einer Babun-Umgebung installieren können?
Was tun, wenn Sie mysqlclient nicht per Pip installieren können?
Was tun, wenn Sie sich nicht als root anmelden können?
Was tun, wenn Sie unter Linux kein WLAN verwenden können?
Was tun, wenn bei der Pip-Installation ein Unicode-Dekodierungsfehler auftritt?
Was tun, wenn Sie den Papierkorb in Lubuntu 18.04 nicht verwenden können?
Was tun, wenn PDO nicht in Laravel oder CakePHP gefunden wird?
Was tun, wenn Sie mit Python keine E-Mail an Yahoo senden konnten?
Was tun, wenn Sie die Rastersuche von sklearn in Python nicht verwenden können?
Was tun, wenn Sie sich mit FileNotFoundError in der Dateireferenz verlieren?
Was tun, wenn TypeError in min und max von numpy auftritt?
Was tun, wenn Sie URL 443 mit pip nicht abrufen konnten?
Kein Modul mit dem Namen Was tun, wenn Sie "libs.resources" erhalten?
ModuleNotFoundError: Kein Modul Was tun, wenn Sie'tensorflow.contrib 'erhalten?
Links, um mit Sublime Text zu tun, was Sie wollen
Was Sie mit hstack oder vstack mit dstack nicht machen können
Swapon fehlgeschlagen: Was tun, wenn Sie sich über eine Operation ärgern, die nicht zulässig ist?
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Was tun mit der Installation von Magics?
Was tun, wenn Sie von Windows-Zeichencodes abhängig sind?
Was tun, wenn Overalls "Abdeckung unbekannt" werden?
Was tun mit PYTHON Release?
So installieren und verwenden Sie pyenv. Was tun, wenn Sie die Python-Version nicht wechseln können?
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
Einfache Lösung, wenn Sie Ihr EC2-Schlüsselpaar verlieren
Python | Was Sie mit Python machen können
Was tun, wenn Sie Python auf IntelliJ ausführen und mit einem Fehler beenden?
Was tun, wenn beim Versuch, pip mit pyenv zu verwenden, ein undefinierter Fehler angezeigt wird?
Was tun, wenn in Python minus Null angezeigt wird?
Was tun, wenn Intellisense mit Anaconda + VSCode + Tensorflow2.1 nicht funktioniert?
Was tun, wenn "Ich kann die Site nicht sehen !!!!"
Was Sie mit API Vol.1 tun können
Was Sie mit Programmierkenntnissen machen können
Lassen Sie uns zusammenfassen, was Sie tun möchten.
Was tun, wenn ipython und python mit unterschiedlichen Versionen starten?
Was tun, wenn Sie sich über TensorFlow v2 ohne Attribut 'app' ärgern?
Was tun, wenn Sie während der Anaconda-Installation unter Linux nicht weiterkommen?
Was tun, wenn der Chainer (Windows) -Beispielverzeichnis mit WinError 183 beendet wird?
Was tun, wenn bei der Installation von pyenv kein Fehler auftritt?
Was tun, wenn der Server nicht mit dem Runserver python manage.py startet?
Was tun, wenn beim Importieren von numpy mit VScode ein Fehler auftritt?
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
Was tun, wenn pipreqs zu UnicodeDecodeError führt?
Was tun, wenn bei Verwendung von Python mit der NetBeans-IDE die Warnung "Falsche Python-Plattform" angezeigt wird?
Was tun, wenn Sie sich über "Wertefehler: unbekannt lokal: UTF-8" in python manage.py syncdb ärgern?
Was tun, wenn pip nicht installiert werden kann?
Was tun, wenn die Autocomplete-Python von Atom nicht funktioniert?
Was tun, wenn die Docker-Synchronisierung plötzlich nicht mehr funktioniert?