Директории в python
Проверка директории
os.path.isdir()
>>> os.path.isdir('.')
True
>>> os.path.isdir('sasd')
Falseexists()
>>> import os
>>> os.path.exists('oops.txt')
True
>>> os.path.exists('./oops.txt')
True
>>> os.path.exists('waffles')
False
>>> os.path.exists('.')
True
>>> os.path.exists('..')
Truels
Можно вывести содержимое директории (вернется список из файлов и директорий):
>>> import os
>>> os.listdir('tmp')
['.vagrant', 'abb', 'zaza', 'sasd']
>>> os.listdir('empty_dir')
[]
>>>Еще один сценарий использования:
>>> for elem in os.listdir('tmp'):
os.path.abspath(os.path.join('tmp', elem))
'/home/user/tmp/.vagrant'
'/home/user/tmp/abb'
'/home/user/tmp/zaza'
'/home/user/tmp/sasd'mkdir()
>>> os.mkdir('poems')
>>> os.path.exists('poems')
Truermdir()
>>> os.rmdir('poems')
>>> os.path.exists('poems')
Falsecd / chdir()
>>> import os
>>> os.chdir('poems')
>>> os.listdir('.')
['mcintyre']Поиск по шаблону в директории. glob()
glob()ищет совпадающие имена файлов/каталогов, используя правила оболочки Unix, а не RegEx:
*- всё
?- один любой символ
[abc]- символыa,bилиc
[!abc]- все символы, кромеa,bилиc.
Все файлы и каталоги, имена которых начинаются с буквы m:
>>> import glob
>>> glob.glob('m*')
['mcintyre']И т.д.
>>> glob.glob('??')
[]
>>> glob.glob('m??????e')
['mcintyre']
>>> glob.glob('[klm]*e')
['mcintyre']Соус: Книга “Простой Python” → Глава 14. “Файлы и каталоги”