python :с использованием glob из определенного каталога

sort -nt '_' -k2 

Выход:

file_0
file_1
file_2
file_3
file_4
file_5
file_6
file_7
file_8
file_9
file_10
file_11
file_12
file_13
file_14
file_15

или:

file_0.txt
file_1.txt
file_2.txt
file_3.txt
file_4.txt
file_5.txt
file_6.txt
file_7.txt
file_8.txt
file_9.txt
file_10.txt
file_11.txt
file_12.txt
file_13.txt
file_14.txt
file_15.txt

Протестировано с реализациями FreeBSD и GNU coreutils sort, но не будет работать с реализацией busybox. Все используемые варианты указано POSIX .

-1
24.11.2020, 18:40
1 ответ

globтакже работает с относительными путями, так что вы можете просто использовать pdb/*.pdbи он будет работать--globбудет возвращать результаты относительно вашего текущего каталога:

>>> glob.glob('test/*.txt')
['test/c.txt', 'test/b.txt', 'test/a.txt']

И если вам нужен результат без каталога, вы всегда можете использовать os.path.basename, чтобы получить только имя файла:

>>> [os.path.basename(p) for p in glob.glob('test/*.txt')]
['c.txt', 'b.txt', 'a.txt']
1
18.03.2021, 22:47

Теги

Похожие вопросы