Obtener el directorio del script de Python actual

En este artículo, cubriremos cómo obtener y cambiar el directorio de trabajo actual en Python . Mientras trabajaba con el manejo de archivos, es posible que haya notado que solo se hace referencia a los archivos por sus nombres, por ejemplo, ‘GFG.txt’ y si el archivo no se encuentra en el directorio del script, Python genera un error. Entonces, ¿cómo se hace? 

El concepto de Directorio de Trabajo Actual (CWD) se vuelve importante aquí. Considere el CWD como la carpeta, Python está operando dentro. Siempre que los archivos se llamen solo por su nombre, Python asume que comienza en el CWD, lo que significa que una referencia de solo nombre tendrá éxito solo si el archivo está en el CWD de Python.

Nota: La carpeta donde se ejecuta el script de Python se conoce como Directorio actual. Esta no es la ruta donde se encuentra el script de Python.

¿Qué es el módulo OS en python?

Python proporciona un módulo de sistema operativo para interactuar con el sistema operativo. Este módulo se incluye en el módulo de utilidad estándar de Python. Todas las funciones del módulo os generan OSError en el caso de rutas y nombres de archivos inválidos o inaccesibles, u otros argumentos que tienen el tipo correcto pero que el sistema operativo no acepta.

Método 1: Usar el método os.getcwd()

El método os.getcwd()  se usa para obtener el directorio de trabajo actual en Python. Esta función del módulo Python OS devuelve la ruta absoluta al directorio de trabajo actual en una string.

Sintaxis del método os.getcwd()

Sintaxis: os.getcwd()

Parámetro: No se requiere ningún parámetro.

Valor devuelto: este método devuelve una string que representa el directorio de trabajo actual. 

Ejemplo: Obtenga el directorio de trabajo actual usando os.getcwd()

Programa Python para explicar el método os.getcwd().

Python3

# importing os module
import os
 
# Get the current working
# directory (CWD)
cwd = os.getcwd()
 
# Print the current working
# directory (CWD)
print("Current working directory:")
print(cwd)

Producción:

 

Método 2: Usar el método os.path.realpath()

os.path.realpath() se puede usar para obtener la ruta del script de Python actual. En realidad , el método os.path.realpath() en Python se usa para obtener la ruta canónica del nombre de archivo especificado al eliminar cualquier enlace simbólico que se encuentre en la ruta. Se pasa una variable especial __file__ al método realpath() para obtener la ruta del script de Python.

Nota: __file__ es el nombre de ruta del archivo desde el que se cargó el módulo si se cargó desde un archivo.  

Sintaxis del método os.path.realpath()

Sintaxis: os.path.realpath(ruta)

Parámetro: 

  • ruta: un objeto similar a una ruta que representa la ruta del sistema de archivos. Un objeto similar a una ruta es una string o un objeto de bytes que representa una ruta.

Tipo de devolución: este método devuelve un valor de string que representa la ruta canónica. 
 

Ejemplo:  Obtener la ruta del script del directorio usando os.getcwd()

Programa Python para obtener la ruta del script.

Python3

import os
 
# Get the current working
# directory (CWD)
cwd = os.getcwd()
print("Current Directory:", cwd)
 
# Get the directory of
# script
script = os.path.realpath(__file__)
print("SCript path:", script)

Producción:

 

Método 3: Usar el método chdir()

El directorio de trabajo actual en Python se cambia a la ruta especificada usando el método os.chdir() . Como nueva ruta de directorio, solo acepta un argumento.

Sintaxis:

Parámetros:

  • sendero:

Devoluciones:

Ejemplo: cambiar el directorio de trabajo actual os.chdir()

En este ejemplo, intentamos cambiar nuestro directorio de trabajo a gfg_dir.

Python3

# import os module
import os
 
# change the current working directory
# to specified path
os.chdir('c:\\gfg_dir')
 
# verify the path using getcwd()
cwd = os.getcwd()
 
# print the current directory
print("Current working directory is:", cwd)

Producción:

Current working directory is: c:\\gfg_dir

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *