2010-07-23 4 views
1

Мне нужно создать файл с питоном, в каталоге:Making каталоги рекурсивно в Python

foo/bar/baz/filename.fil 

Единственная проблема, это то, что я не знаю, Баз, бар, или даже Foo были созданы (они, возможно, были, но сценарий не гарантирует этого). Так, obiously я не могу просто:

file = open('foo/bar/baz/filename.fil', 'wb') 
# Stuff 
# file.close() 

потому, что я получу IOError, если Foo или бар или Баз не существует. Итак, я думал, что я мог бы написать сценарий, который бы

1. Through a loop of os.path.split()s, get each directory. 
2. In a loop: Test to see if each directory exists: 
3.  If it doesn't: make it 
4. Then write the file. 

Тем не менее, кажется, как питон должен быть лучший способ сделать это, так что я что-то отсутствует, или является единственным (или лучше) способ это алгоритм, который я перечислял выше?

спасибо.

ответ

4

Использование os.makedirs

+0

Ах, ладно ... Я пропустил, что один (смотрит на os.makedir), во всяком случае, можно хоть что каталог листьев будет существовать ... хотя я предполагаю, что это легкая ошибка ловить. –

+0

@ Leif: Правильно. Устранение исключения OSError - самый простой способ. – unutbu

Смежные вопросы