Директории в python
Проверка директории
os.path.isdir()
>>> os.path.isdir('.')
True
>>> os.path.isdir('sasd')
False
exists()
>>> 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('..')
True
ls
Можно вывести содержимое директории (вернется список из файлов и директорий):
>>> 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')
True
rmdir()
>>> os.rmdir('poems')
>>> os.path.exists('poems')
False
cd
/ 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. “Файлы и каталоги”