Директории в 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. “Файлы и каталоги

python