243 votes

Comment créer un nouveau dossier ?

Je veux placer les informations de sortie de mon programme dans un dossier. Si le dossier donné n'existe pas, le programme doit créer un nouveau dossier avec le nom de dossier donné dans le programme. Est-ce possible ? Si oui, veuillez me dire comment.

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

378voto

mcandre Points 6965

Vous pouvez créer un dossier avec os.makedirs()
et utiliser 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 faire un installateur : Installateur Windows fait beaucoup de travail pour vous.

50voto

Juergen Points 4839

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.

40voto

Alex Martelli Points 330805

Vous voulez probablement os.makedirs car il 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)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X