libreria importar gestion clases archivos python path cross-platform

python - importar - ¿Rutas de archivos independientes de la plataforma?



importar clases en python (4)

¿Cómo puedo usar un archivo dentro de la carpeta de mi aplicación en Python? Plataforma independiente por supuesto ... algo similar a esto:

#!/bin/sh mypath=${0%/*} LIBDIR=$mypath/modules


En Python 3.4+ puedes usar pathlib :

from pathlib import Path parent = Path(__file__).resolve().parent # get current script directory path = parent / "modules" # create a child path


Puede usar os.path y sus funciones, que se encargan de las rutas específicas del sistema operativo:

>>> import os >>> os.path.join(''app'', ''subdir'', ''dir'', ''filename.foo'') ''app/subdir/dir/filename.foo''

En Windows, debería imprimir con barras diagonales inversas.


__file__ contiene la ubicación del módulo. Use las funciones en os.path para extraer el directorio de él.


import os os.path.join(os.path.curdir, ''file.name'')

o

import os os.path.join(os.path.dirname(__file__), ''file.name'')

dependiendo de si es un módulo (2) o un solo script (1) , y si lo está invocando desde el mismo directorio (1) , o desde uno diferente (2) .

Editar

Mirando el "intento" que tienes en tu pregunta, supongo que querrías (1) .