Ich versuche, Dateien und Verzeichnisse auf bestimmte Weise zu sortieren (für mich ist es normalerweise aber ok). So habe ich JPG-Dateien, dann einige TXT-Dateien oder wav und ich habe einige Verzeichnisse ich es wie zuerst sortiert nach Namen sortiert werden sollen alle Dateien dann Verzeichnisse sortieren, aber wenn ich versuche, so etwas wie zu tun:Dateien sortieren dann Verzeichnisse os.listdir PYTHON
path = "/my_path"
arr = os.listdir(path)
arr.sort(key=lambda x: (os.path.isdir(x), x))
print(arr)
-Code gibt mir Ausgabe:
['10000100.JPG', '10000101.JPG', '10000102.JPG', '10000103.JPG', '10000104.BMP', 'BACKUP.BIN', 'DEPOSIT.BIN' 'HRYS', 'WAVS', 'k.txt', 's.wav']
aber es sollte sein:
[ '10000100.JPG', '10000101.JPG', ‚100001 02.JPG ',' 10000103.JPG ',' 10000104.BMP ',' BACKUP.BIN ',' DEPOSIT.BIN ',' k.txt ',' s.wav ',' HRYS ',' WAVS ']
Wie wird es richtig gemacht?
können Sie 'print ([(os.path.isdir (x), x) für x in arr])' ' –
[(False, '10000100.JPG'), (False‚10000101. JPG '), (Falsch,' 10000102.JPG '), (Falsch,' 10000103.JPG '), (Falsch,' 10000104.BMP '), (Falsch,' BACKUP.BIN '), (Falsch,' EINZAHLEN. BIN '), (Falsch,' HRYS '), (Falsch,' WAVS '), (Falsch,' k.txt '), (Falsch,' s.wav ')] ' – BengBeng
Nun, es scheint, dass'' HRYS'' und 'WAVS' sind * keine Verzeichnisse *. –