Ich habe einen Ordner mit über 100.000 Dateien, alle nummeriert mit dem gleichen Stub, aber ohne führende Nullen, und die Nummern sind nicht immer zusammenhängend (normalerweise sind sie, aber es gibt Lücken) zB:Stapelumbenennung 100K Dateien mit Python
file-21.png,
file-22.png,
file-640.png,
file-641.png,
file-642.png,
file-645.png,
file-2130.png,
file-2131.png,
file-3012.png,
usw.
ich Batch-Prozess möchte diese gepolstert, zusammenhängende Dateien zu erstellen. z:
file-000000.png,
file-000001.png,
file-000002.png,
file-000003.png,
Wenn ich den Ordner mit for filename in os.listdir('.'):
die Dateien analysiere in der Reihenfolge nicht kommen ich sie mag. Verständlicherweise kommen sie bis
file-1,
file-1x,
file-1xx,
file-1xxx,
usw. dann
file-2,
file-2x,
file-2xx,
usw. Wie kann ich es in der Reihenfolge der numerischen Wert durch bekommen? Ich bin ein kompletter Python-Noob, aber wenn ich mir die Dokumente anschaue, die ich vermute, könnte ich Map verwenden, um eine neue Liste zu erstellen, die nur den numerischen Teil herausfiltert, und dann diese Liste sortieren und dann iterieren? Bei über 100K-Dateien könnte das schwer sein. Irgendwelche Tipps willkommen!
definiert ist, können Sie mit einer beliebigen Anzahl von Parametern ein Linux „ls“ Befehl ausführen, sie zu sortieren, wie Sie wollen ... und dann diese Liste verwenden, um die Dateien zu erhalten. – bwawok
Ja, wenn ich das machen würde, würde ich einfach 'sort -n' verwenden. –
Anstatt Ihre Frage mit der Antwort zu bearbeiten, ist es besser, Ihre Lösung einfach als eigene Antwort am Ende zu posten und als akzeptiert zu markieren. –