2009-08-13 20 views
105

Quiero poner información de salida de mi programa en una carpeta. si la carpeta dada no existe, entonces el programa debe crear una nueva carpeta con el nombre de la carpeta como figura en el programa. es posible? Si es así, házmelo saber cómo. ruta de la carpeta¿Cómo crear una nueva carpeta?

Suponga que he dado como carpeta "C:\Program Files\alex" y alex no existe, entonces el programa debe crear alex carpeta y debe poner información de salida en la carpeta alex.

+7

Cuando buscó en el módulo 'os', ¿qué encontró? ¿Algo útil? ¿Qué código probaste? ¿Cualquier cosa? –

Respuesta

192

Puede crear una carpeta con os.makedirs()
y utilizar os.path.exists() para ver si ya existe:

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

Si usted está tratando de hacer un instalador: Windows Installer hace mucho trabajo para usted.

+8

Esto fallará porque no ha dobleces invertido en la llamada a os.makedirs. –

+2

Me está matando: newpath = r'C: \ Program Files \ alex '; si no os.path.exists (newpath): os.makedirs (newpath) – hughdbrown

+0

en general, las rutas de acceso distinguen entre mayúsculas y minúsculas. – SilentGhost

27

¿Has probado os.mkdir?

También puede intentar este pequeño fragmento de código:

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

makedirs crea múltiples niveles de directorios, si es necesario.

27

Probablemente desee os.makedirs, ya que también creará directorios intermedios, si es necesario.

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) 
Cuestiones relacionadas