私は特定の方法でファイルとディレクトリをソートしようとしています(それはusuallですが、okです)。だから私は、JPGファイル、その後、いくつかのtxtファイルやwavファイルを持っていると私はそれが私が何かやろうとしているときにすべてのファイルが、その後ディレクトリを並べ替えるが、名前の最初の並べ替えのようにソートしたいいくつかのディレクトリがあります。ファイルをソートしてディレクトリを並べ替えるos.listdir PYTHON
path = "/my_path"
arr = os.listdir(path)
arr.sort(key=lambda x: (os.path.isdir(x), x))
print(arr)
コードを
['10000100.JPG'、 '10000102.JPG'、 '10000103.JPG'、 '10000103.JPG'、 '10000104.BMP'、 'BACKUP.BIN'、 'DEPOSIT.BIN' 、 'HRYS'、 'WAVファイル'、 'k.txt'、 's.wav']
それがあるべきである。
[ '10000100.JPG'、 '10000101.JPG'、「100001 02.JPG、10000103.JPG、10000104.BMP、BACKUP.BIN、DEPOSIT.BIN、k.txt、s.wav、HRYS、WAVS]
どのように適切な方法でそれを行うには?
arr.sort(key=lambda x: (os.path.isdir(x), x))
キーがbool
返すタプル、最初の項目はos.path.isdir(x)
で、次のとおりです。
することができます '印刷([(os.path.isdir(x)は、x)のためのxのARR])' ' –
[(偽、 '10000100.JPG')、(「10000101、偽。 JPG ')、(False、' 10000102.JPG ')、(False、' 10000103.JPG ')、(False、' 10000104.BMP ')、(False、' BACKUP.BIN ')、(False、' DEPOSIT。 – BengBeng
それでは、それは '' ''、 ''、 ''、 ''、 ''、 HRYSとWAVSは*ディレクトリではありません*。 –