Pretendemos obtener la ruta absoluta real del sistema en base a la ubicación actual del fichero en el que estamos trabajando.
En este gist tienes explicado completamente el comando que usaremos a continuación: https://gist.github.com/mrroot5/0a3aff9d758beb44d77814eb74a59e49
dirname = os.path.dirname(os.path.realpath(__file__))
Suponemos una carpeta y fichero de ejemplo que podrían no existir. En el siguiente apartado tienes una explicación de como probarlo.
filename = 'example/example.txt'
dirname = os.path.dirname(os.path.realpath(__file__))
os.path.join(dirname, filename)
Asumiendo que uses Linux, en este caso probado con Debian 9+, Ubuntu 18.04+ y Zorin 15+
- Abrimos la consola:
Puededs buscarla en el listado de aplicaciones
o pulsar CTRL + ALT + T
.
- Creamos una carpeta y fichero para hacer la prueba:
mkdir ~/try_absolute_path
touch ~/try_absolute_path/example.txt
- Creamos un fichero vacío en nuestra home:
touch ~/test_absolute_path.py
- Lo editamos y le añadimos el siguiente código:
import os
filename = 'example/example.txt'
dirname = os.path.dirname(os.path.realpath(__file__))
absolute_path = os.path.join(dirname, filename)
print('__file__: {}'.format(__file__))
print('os dirname: {}'.format(dirname))
print('os path join: {}'.format(absolute_path))
- Puedes ver que versión de python usas por defecto con:
python --version
- Lo ejecutamos:
python ~/test_absolute_path.py
La salida será similar a la siguiente, $USER
será tu usuario.
os dirname: /home/$USER/ # Aqui estara tu python
os path join: /home/$USER/try_absolute_path/example.txt