Encontrar el directorio actual y el directorio del archivo's

En Python, ¿qué comandos puedo utilizar para encontrar:

  1. el directorio actual (donde estaba en la terminal cuando ejecuté el script de Python), y
  2. dónde está el archivo que estoy ejecutando?
Solución

Para obtener la ruta completa del directorio que contiene un archivo Python, escriba esto en ese archivo:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

(Tenga en cuenta que el encantamiento anterior no funcionará si ya ha utilizado os.chdir() para cambiar su directorio de trabajo actual, ya que el valor de la constante __file__ es relativo al directorio de trabajo actual y no se cambia por una llamada a os.chdir()).


Para obtener el directorio de trabajo actual utilice

import os
cwd = os.getcwd()

Referencias de la documentación de los módulos, constantes y funciones utilizadas anteriormente:

  • Los módulos os y os.path.
  • La constante __file__
  • os.path.realpath(path) (devuelve "la ruta canónica del nombre de archivo especificado, eliminando cualquier enlace simbólico encontrado en la ruta")
  • os.path.dirname(path) (devuelve "el nombre del directorio de la ruta path")
  • os.getcwd() (devuelve "una cadena que representa el directorio de trabajo actual")
  • os.chdir(path) ("cambia el directorio de trabajo actual a path")
Comentarios (8)

Directorio de trabajo actual: `os.getcwd()

Y el atributo __file__ puede ayudarte a saber dónde se encuentra el archivo que estás ejecutando. Este post de SO lo explica todo: https://stackoverflow.com/questions/2632199/how-do-i-get-the-path-of-the-current-executed-file-in-python

Comentarios (0)

1.Para obtener la ruta completa del directorio actual

    >>import os
    >>print os.getcwd()

o/p:"C :\N- mi carpeta"

1.Para obtener solo el nombre de la carpeta del directorio actual

    >>import os
    >>str1=os.getcwd()
    >>str2=str1.split('\\')
    >>n=len(str2)
    >>print str2[n-1]

o/p:"mi carpeta"

Comentarios (4)