Python: переименование первых 5 файлов папки

Я не знаю, можно ли это сделать или нет, но есть ли способ переименовать только первые 5 файлов в папке? Я знаю, что могу использовать os.listdir() или os.walk() для просмотра всей папки, но мне нужно только переименовать первые 5 файлов. Я могу использовать регулярное выражение для сопоставления файлов, но проблема в том, что есть другие файлы, соответствующие одному и тому же регулярному выражению. У кого-нибудь есть предложения? Имя файла имеет вид «Тестовый прогон 1 29.04.2016 2 07 56 PM».


person Jhigs    schedule 29.04.2016    source источник


Ответы (2)


Вы можете ограничить результат от listdir:

os.listdir(os.curdir)[:5]
person JoseKilo    schedule 29.04.2016
comment
Большое спасибо, я знал, что это будет что-то легкое - person Jhigs; 29.04.2016

glob.glob позволит вам фильтровать файлы с помощью подстановочных знаков.

glob.glob(pathname) Возвращает возможно пустой список имен путей, которые соответствуют имени пути, который должен быть строкой, содержащей спецификацию пути. путь может быть абсолютным (например, /usr/src/Python-1.5/Makefile) или относительным (например, ../../Tools//.gif) и может содержать подстановочные знаки в стиле оболочки. Неработающие симлинки включаются в результаты (как и в оболочке). Расширение тильды не выполняется, но *, ? и диапазоны символов, выраженные с помощью [], будут правильно сопоставлены.

glob.glob('*.gif')[:5]
person ziddarth    schedule 29.04.2016