2010-07-23 5 views
1

Je dois créer un fichier avec python, dans le répertoire:répertoires Making récursive en python

foo/bar/baz/filename.fil 

Le seul problème est que je ne sais pas si baz, bar, ou même foo ont été créés (ils ont pu l'être, mais le script ne le garantit pas). Donc, obiously je ne peux pas simplement:

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

parce que je vais obtenir un IOError si foo ou bar ou baz n'existe pas. Donc, je pensais que je pourrais écrire un script qui serait

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. 

Cependant, il semble que python devrait avoir une meilleure façon de le faire, alors que je manque quelque chose, ou est la seule façon (ou mieux) à Est-ce que c'est l'algorithme que j'ai énuméré ci-dessus?

Merci.

Répondre

4

Utilisez os.makedirs

+0

Ah, d'accord ... J'ai raté que l'on (regardait os.makedir), de toute façon, il est possible cependant que le répertoire des feuilles existerait ... même si je suppose que c'est une erreur facile attraper. –

+0

@Leif: Droite. Attraper l'exception OSError est le moyen le plus simple. – unutbu

Questions connexes