web-dev-qa-db-fra.com

Comment créer un nouveau dossier?

Je veux mettre les informations de sortie de mon programme dans un dossier. si un dossier donné n'existe pas, le programme doit alors créer un nouveau dossier avec le nom de dossier indiqué dans le programme. Est-ce possible? Si oui, s'il vous plaît laissez-moi savoir comment.

Supposons que j'ai donné un chemin de dossier du type "C:\Program Files\alex" et alex n'existe pas, le programme doit alors créer le dossier alex et mettre les informations de sortie dans le dossier alex.

167
alex

Vous pouvez créer un dossier avec os.makedirs ()
et utilisez os.path.exists () pour voir s'il existe déjà:

newpath = r'C:\Program Files\arbitrary' 
if not os.path.exists(newpath):
    os.makedirs(newpath)

Si vous essayez de créer un programme d'installation: Windows Installer fait beaucoup de travail pour vous.

270
mcandre

Vous voulez probablement os.makedirs car cela créera également des répertoires intermédiaires, si nécessaire.

import os

#dir is not keyword
def makemydir(whatever):
  try:
    os.makedirs(whatever)
  except OSError:
    pass
  # let exception propagate if we just can't
  # cd into the specified directory
  os.chdir(whatever)
36
Alex Martelli

Avez-vous essayé os.mkdir?

Vous pouvez également essayer ce petit extrait de code:

mypath = ...
if not os.path.isdir(mypath):
   os.makedirs(mypath)

makedirs crée plusieurs niveaux de répertoires, si nécessaire.

35
Juergen