open obtain full current another python path relative-path absolute-path

obtain - python get full path folder



Cómo obtener una ruta de archivo absoluta en Python (9)

Dada una ruta como "mydir/myfile.txt" , ¿cómo puedo encontrar la ruta de archivo absoluta en relación con el directorio de trabajo actual en Python? Por ejemplo, en Windows, podría terminar con:

"C:/example/cwd/mydir/myfile.txt"


En caso de que alguien esté usando python y linux y busque la ruta completa al archivo:

>>> path=os.popen("readlink -f file").read() >>> print path abs/path/to/file



Mejor aún, instale el módulo path.py , envuelve todas las funciones os.path y otras funciones relacionadas en métodos en un objeto que se puede usar donde sea que se usen cadenas:

>>> from path import path >>> path(''mydir/myfile.txt'').abspath() ''C://example//cwd//mydir//myfile.txt'' >>>


Podrías usar la nueva biblioteca de pathlib Python 3.4. (También puede obtenerlo para Python 2.6 o 2.7 utilizando pip install pathlib ). Los autores wrote : "El objetivo de esta biblioteca es proporcionar una jerarquía simple de clases para manejar las rutas del sistema de archivos y las operaciones comunes que los usuarios realizan sobre ellas".

Para obtener una ruta absoluta en Windows:

>>> from pathlib import Path >>> p = Path("pythonw.exe").resolve() >>> p WindowsPath(''C:/Python27/pythonw.exe'') >>> str(p) ''C://Python27//pythonw.exe''

O en UNIX:

>>> from pathlib import Path >>> p = Path("python3.4").resolve() >>> p PosixPath(''/opt/python3/bin/python3.4'') >>> str(p) ''/opt/python3/bin/python3.4''

Los documentos están aquí: https://docs.python.org/3/library/pathlib.html


Prefiero usar glob

Aquí es cómo listar todos los tipos de archivos en su carpeta actual:

import glob for x in glob.glob(): print(x)

Aquí es cómo listar todos los archivos .txt (por ejemplo) en su carpeta actual:

import glob for x in glob.glob(''*.txt''): print(x)

Aquí es cómo listar todos los tipos de archivos en un directorio elegido:

import glob for x in glob.glob(''C:/example/hi/hello/''): print(x)

espero que esto te haya ayudado


si estás en un mac

import os upload_folder = os.path.abspath("static/img/users")

esto te dará un camino completo:

print(upload_folder)

mostrará el siguiente camino:

>>>/Users/myUsername/PycharmProjects/OBS/static/img/user


>>> import os >>> os.path.abspath("mydir/myfile.txt") ''C:/example/cwd/mydir/myfile.txt''

También funciona si ya es una ruta absoluta:

>>> import os >>> os.path.abspath("C:/example/cwd/mydir/myfile.txt") ''C:/example/cwd/mydir/myfile.txt''


>>> import os >>> os.path.abspath(''mydir/myfile.txt'') ''C://example//cwd//mydir//myfile.txt'' >>>


filePath = os.path.abspath(directoryName) filePathWithSlash = filePath + "//" filenameWithPath = os.path.join(filePathWithSlash, filename)