Python es uno de los lenguajes de programaci n m s populares utilizados para crear aplicaciones web, investigaci n cient fica, an lisis de datos y muchas otras reas. Cuando est trabajando con un programa de Python, a veces puede ser necesario conocer la ruta del archivo en el que est trabajando.
De hecho, hay varias formas de averiguar la ruta de un archivo Python. En este art culo, veremos algunas formas simples que lo ayudar n a hacer frente a esta tarea.
Hay varios m dulos en Python que le permiten obtener la ruta del archivo. Veremos el m dulo os y sus funciones os.getcwd () y os.path.abspath().
Tambi n en Python hay un m dulo inspect que proporciona funciones para obtener informaci n sobre objetos vivos, como m dulos, clases, m todos, funciones, etc.getfile (), que le permite obtener la ruta del archivo en el que se defini el objeto pasado.
- Formas de encontrar la ruta del archivo Python
- Usando el comando print para generar la ruta del archivo Python
- Obtener la ruta de archivo de Python con el m dulo os
- Usando el m dulo pathlib para obtener la ruta del archivo Python
- Pregunta-respuesta
- C mo puedo encontrar la ruta al directorio principal en Python?
- C mo obtengo solo el nombre del archivo de la ruta completa en Python?
- C mo saber la extensi n de archivo en Python?
Formas de encontrar la ruta del archivo Python
1. M dulo os
Una de las formas m s comunes de aprender la ruta de un archivo Python es usar el m dulo os. Tiene una funci n de sistema operativo.path.realpath (), que devuelve la ruta absoluta al archivo especificado.
2. M dulo pathlib
El m dulo pathlib proporciona una interfaz orientada a objetos para trabajar con rutas del sistema de archivos. El m todo resolve () de este m dulo devuelve la ruta absoluta al archivo al que hace referencia la instancia del objeto.
3. Atributo _ _ file__
Dentro de Python, hay un atributo m gico _ _ file_ _ que almacena la ruta al ejecutable actual. Aqu hay un c digo de ejemplo:
import os
file_path = os.path.realpath(__file__)
print ("Ruta del archivo actual:", file_path)
4. sys.argv
El m dulo sys tiene una lista de argumentos de l nea de comando llamada sys.argv. El primer elemento de esta lista generalmente se refiere a la ruta del ejecutable actual.
5. Uso de variables de entorno
Si usa variables de entorno en su sistema, puede acceder a la ruta del archivo Python con la variable de entorno adecuada, por ejemplo, a trav s de la variable PATH o PYTHONPATH.
Elija la forma adecuada para usted de encontrar la ruta del archivo Python y sela en su proyecto.
Usando el comando print para generar la ruta del archivo Python
.
El siguiente c digo le permite Mostrar la ruta del archivo de Python:
import os
print(os.path.abspath(__file__))
Analicemos este c digo:
- , que proporciona funciones para trabajar con el sistema operativo.
- que convierte la ruta relativa a la ruta absoluta.
- . Esta variable es proporcionada por Python y contiene la ruta al archivo actual.
- para Mostrar la ruta absoluta del archivo.
. Si el c digo se ejecuta desde la l nea de comandos o el int rprete de Python, la ruta se mostrar de acuerdo con el directorio de trabajo actual.
para Mostrar la ruta del archivo Python. Esta es una forma f cil y directa de obtener informaci n sobre el archivo actual.
Obtener la ruta de archivo de Python con el m dulo os
El m dulo os en Python proporciona funciones convenientes para trabajar con el sistema operativo. Tambi n le permite obtener la ruta del archivo Python.
Para obtener la ruta del archivo actual, puede utilizar la funci n os.path.realpath(). Esta funci n devuelve la ruta absoluta del archivo, dados todos los enlaces simb licos.
Ejemplo de uso:
import os
current_file_path = os.path.realpath(__file__)
print(current_file_path)
El resultado de la ejecuci n del c digo dado ser la ruta al archivo Python actual.
Tambi n, a trav s de la funci n os.path.dirname() solo se puede obtener el directorio donde se encuentra el archivo Python.
:
import os
current_file_dir = os.path.dirname(os.path.realpath(__file__))
print(current_file_dir)
, Python.
os.path.join() .
:
import os
current_file_dir = os.path.dirname(os.path.realpath(__file__))
new_file_path = os.path.join(current_file_dir, 'new_file.txt')
print(new_file_path)
Este c digo crear una nueva ruta de archivo llamada " new_file.txt " en el mismo directorio donde se encuentra el archivo Python.
El m dulo os tambi n proporciona otras funciones tiles para trabajar con rutas y archivos, como el sistema operativo.path.exists(), os.path.basename(), os.path.isfile() y otros. Su uso permite una mayor flexibilidad para trabajar con el sistema de archivos.
Usando el m dulo pathlib para obtener la ruta del archivo Python
El m dulo pathlib es parte de la biblioteca est ndar de Python y proporciona una forma f cil y conveniente de trabajar con las rutas del sistema de archivos. Le permite obtener la ruta del archivo Python actual, as como realizar varias operaciones de ruta, como fusionar, verificar la existencia del archivo y el directorio, y m s.
Para usar el m dulo pathlib, debe importarlo:
from pathlib import Path1. Obtener la ruta del archivo Python actual:
Puede usar el atributo __file__para obtener la ruta del archivo Python actual. Sin embargo, este atributo devuelve la ruta relativa del directorio de trabajo actual, por lo que debe usar pathlib para obtener la ruta absoluta:
current_file_path = Path(__file__).resolve()Como resultado de la ejecuci n de este c digo, la variable current_file_path contendr la ruta absoluta al archivo Python actual.
2. Unir caminos:
El m dulo pathlib proporciona un m todo conveniente para combinar rutas .joinpath(). Este m todo toma una o m s rutas como argumentos y devuelve una nueva ruta que consta de rutas conectadas:
file_path = Path('/path/to').joinpath('file.txt')Como resultado de la ejecuci n de este c digo, la variable file_path contendr la ruta / path/to / file.txt.
3. Comprobaci n de la existencia de un archivo o directorio:
Con el m dulo pathlib, puede verificar la existencia de un archivo o directorio utilizando el m todo .exists(). Este m todo devuelve True si existe un archivo o directorio, y False de lo Contrario:
file_exists = Path('/path/to/file.txt').exists()Como resultado de la ejecuci n de este c digo, la variable file_exists contendr True si el archivo es /path/to/file.txt existe, y False Si el archivo no existe.
4. Obtener un nombre de archivo o directorio:
Puede usar el atributo. name para obtener el nombre del archivo o directorio de la ruta:
file_name = Path('/path/to/file.txt').nameComo resultado de la ejecuci n de este c digo, la variable file_name contendr el nombre del archivo file.txt.
5. Obtener el directorio principal:
Puede usar un atributo para recuperar el directorio principal de la ruta .parent:
parent_dir = Path('/path/to/file.txt').parentComo resultado de la ejecuci n de este c digo, la variable parent_dir contendr la ruta /path/to.
6. Comprobar si la ruta es un archivo o un directorio:
El m dulo pathlib proporciona m todos para verificar el tipo de ruta, como is_file() e is_dir(). Estos m todos devuelven True si la ruta es un archivo o directorio respectivamente, y False de lo Contrario:
is_file = Path('/path/to/file.txt').is_file()
is_dir = Path('/path/to').is_dir()
Como resultado de la ejecuci n de este c digo, la variable is_file contendr True si la ruta es /path/to/file.txt es un archivo y la variable is_dir contendr True si la ruta /path/to es un directorio.
Por lo tanto, el m dulo pathlib proporciona herramientas convenientes para trabajar con las rutas del sistema de archivos en Python, lo que le permite obtener la ruta del archivo Python actual, as como realizar varias operaciones de ruta.
Pregunta-respuesta
C mo puedo encontrar la ruta al directorio principal en Python?
Para ello, puede utilizar la funci n `os.path.dirname () ' y pasarle la ruta al archivo actual. Devolver la ruta al directorio principal.
C mo obtengo solo el nombre del archivo de la ruta completa en Python?
Puede utilizar la funci n ' os.path.basename ()` para obtener solo el nombre del archivo de la ruta completa.
C mo saber la extensi n de archivo en Python?
Puede usar la funci n `os ' para hacer esto.path.splitext()`. Devolver una tupla del nombre de archivo y su extensi n. Solo puede obtener la extensi n accediendo al segundo elemento de la tupla.