Sortieren Sie den Pfad natürlich in Python

Pfad sortieren

Wenn Sie den Pfad auf natürliche Weise sortieren möchten (nach Zahlen sortieren), geben Sie einen Lambda-Ausdruck wie unten gezeigt in key ein.


natsorted(list(pathlib.Path(Pfad).glob("*")),key=lambda x:x.name) 

Folgendes beiseite

Eine Geschichte, die, wenn Sie nach Pfad sortieren, eine Wörterbuchsortierung ist

Bei der Konvertierung einer großen Anzahl von Bildern in PDF mussten die Bilddaten sortiert werden. Der Name der Bilddatei sieht folgendermaßen aus.

1.jpg
200.jpg
12.jpg
...

Ich möchte sie nach den Zahlen ordnen, also möchte ich sie natürlich sortieren, anstatt sie in einem Wörterbuch zu sortieren. Als ich es mit "pathlib" bekam und mit "natsort" sortierte, sah es so aus.

PosixPath('/Users/usrname/images/1.jpg'),
PosixPath('/Users/usrname/images/10.jpg'),
PosixPath('/Users/usrname/images/20.jpg'),
...

Nein, bitte arbeiten Sie mit natsort. Ich dachte, aber es scheint nicht nach Pfad zu sortieren. Die Gegenmaßnahmen waren jedoch fest in der Referenz verankert.

Auszug aus der Natsort-Referenz.py


>>> a = ['apple2.50', '2.3apple']
>>> natsorted(a, key=lambda x: x.replace('apple', ''), alg=ns.REAL)
['2.3apple', 'apple2.50']

Es scheint gut, key auf die gleiche Weise wie sort anzugeben. Der zu sortierende Dateiname wird ausgelöst. Dies ist in der "pathlib" -Referenz gut geschrieben,

Auszug aus der Pathlib-Referenz.py


>>> PurePosixPath('my/library/setup.py').name
'setup.py'

Mit anderen Worten, .name kann das Ende des Pfades annehmen. Wenn Sie sie in Kombination verwenden, können Sie sie sortieren. Die Formel wird weggelassen, weil sie am Anfang steht. Als ich es versuchte, sah es so aus.

PosixPath('/Users/usrname/images/1.jpg'),
PosixPath('/Users/usrname/images/2.jpg'),
PosixPath('/Users/usrname/images/3.jpg'),
...

Es war gut sortiert. Herzliche Glückwünsche

Recommended Posts

Sortieren Sie den Pfad natürlich in Python
Benutzerdefinierte Sortierung in Python3
Absteigende Sorte mit Mongodb in Python
Sortieren nach Datum in Python
[Python] Sortieren
Python #sort
Manipulation des Datei- / Ordnerpfads in Python
Holen Sie sich den Desktop-Pfad in Python
Berechnen Sie den Verlust der freien Speicherplatzausbreitung in Python
Holen Sie sich den Skriptpfad in Python
Sortieren Sie große Textdateien in Python
Holen Sie sich den Desktop-Pfad in Python
Projekt Euler # 15 "Gitterpfad" in Python
Wenn Sie mehrere Schlüssel in Python-Sortierung angeben
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Was ist neu in Python 3.9 (2) -Sortierte nicht verteilte Diagramme in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Stuge Sort in Python 3 implementiert (Bubble Sort & Quick Sort)
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge