Encuentre el directorio actual y el directorio del archivo [duplicado]
¿Cómo determino:
- el directorio actual (donde estaba en el shell cuando ejecuté el script de Python), y
- ¿Dónde está el archivo Python que estoy ejecutando?
Para obtener la ruta completa al 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 __file__
constante es relativo al directorio de trabajo actual y no se cambia mediante una os.chdir()
llamada).
Para obtener el directorio de trabajo actual, use
import os
cwd = os.getcwd()
Referencias de documentación para los módulos, constantes y funciones utilizadas anteriormente:
- Los módulos
os
yos.path
. - El
__file__
constante 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 rutapath
" )os.getcwd()
(devuelve "una cadena que representa el directorio de trabajo actual" )os.chdir(path)
( "cambiar el directorio de trabajo actual apath
" )
Directorio de trabajo actual : os.getcwd()
Y el __file__
atributo puede ayudarte a descubrir dónde se encuentra el archivo que estás ejecutando. Esta publicación de Stack Overflow explica todo: ¿ Cómo obtengo la ruta del archivo ejecutado actualmente en Python?
Puede que le resulte útil como referencia:
import os
print("Path at terminal when executing this file")
print(os.getcwd() + "\n")
print("This file path, relative to os.getcwd()")
print(__file__ + "\n")
print("This file full path (following symlinks)")
full_path = os.path.realpath(__file__)
print(full_path + "\n")
print("This file directory and name")
path, filename = os.path.split(full_path)
print(path + ' --> ' + filename + "\n")
print("This file directory only")
print(os.path.dirname(full_path))