Cómo obtener el directorio actual de archivos de script en Python

Jinku Hu 3 enero 2023
  1. Python obtiene el directorio de trabajo
  2. Python obtiene el directorio de archivos de script
Cómo obtener el directorio actual de archivos de script en Python

Hemos introducido la operación de archivos y directorios en Python 3 basic tutorial. En esta sección se muestra cómo obtener la ruta relativa y absoluta del script de ejecución.

Python obtiene el directorio de trabajo

La función os.getcwd() devuelve el directorio de trabajo actual.

Si lo ejecuta en el prompt de idle de Python, el resultado es la ruta de IDLE de Python.

Python obtiene el directorio de archivos de script

La ruta del archivo de script se puede encontrar en el espacio de nombres global con la variable global especial __file__. Devuelve la ruta relativa del archivo de script respecto al directorio de trabajo.

En los siguientes códigos de ejemplo le mostraremos cómo utilizar las funciones que acabamos de introducir.

import os

wd = os.getcwd()
print("working directory is ", wd)

filePath = __file__
print("This script file path is ", filePath)

absFilePath = os.path.abspath(__file__)
print("This script absolute path is ", absFilePath)

path, filename = os.path.split(absFilePath)
print("Script file path is {}, filename is {}".format(path, filename))
absFilePath = os.path.abspath(__file__)

os.path.abspath(__file__) devuelve la ruta absoluta de la ruta relativa dada.

path, filename = os.path.split(absFilePath)

La función os.path.split() divide el nombre del fichero con la ruta de la ruta pura y el nombre del fichero puro.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook