¿Cómo crear una nueva carpeta? [duplicate]

2 minutos de lectura

Quiero poner la 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 se indica en el programa. es posible? Si es así, por favor hágamelo saber cómo.

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

  • Cuando miraste en el os módulo, ¿qué encontraste? ¿Algo útil? ¿Qué código probaste? ¿Cualquier cosa?

    – S. Lott

    13 de agosto de 2009 a las 20:35

avatar de usuario
mcandre

Puede crear una carpeta con os.makedirs()

y use os.ruta.existe() para ver si ya existe:

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

Si estás tratando de hacer un instalador: instalador de ventanas hace mucho trabajo por ti.

  • Esto fallará porque no tiene barras invertidas dobles en la llamada a os.makedirs.

    -Wayne Koorts

    13 de agosto de 2009 a las 21:11

  • Me está matando: newpath = r’C:\Program Files\alex’; si no os.path.exists (nueva ruta): os.makedirs (nueva ruta)

    – Hugh Brown

    14 de agosto de 2009 a las 2:20

  • hacer os.path.join('dir','other-dir') en vez de dir\other-dir si quieres ser compatible con otras cosas además de Windows.

    – QxQ

    15/04/2013 a las 20:56


  • ¿Alguien podría explicar por qué os.path.join(‘dir’,’other-dir’) sería más compatible con otros sistemas? ¿Por las barras/barras invertidas?

    – Ando Jurai

    4 de mayo de 2017 a las 7:37

  • Porque las funciones os.path usan las reglas locales de la instalación de python que ejecuta el script para las cadenas de ruta. El uso de os.path.join en todos los casos asegura que sus rutas se formarán correctamente para la plataforma en la que se ejecuta el script.

    – Alan Leuthard

    13 de junio de 2017 a las 21:12

avatar de usuario
Jürgen

¿Has probado os.mkdir?

También puede probar 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.

avatar de usuario
alex martelli

probablemente quieras 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)

  • whatever es un camino?

    – mlestudiante33

    13 de abril de 2019 a las 2:29

  • @mLstudent33 Sí como cadena. Sugeriría al menos registrar el error o una declaración de impresión para que sepamos que hay algo mal.

    – Thomas Meriaux

    20 de septiembre de 2020 a las 15:26


¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad