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
Hoy también puede usar el paquete unipath
que se basó en path.py
: http://sluggo.scrapping.cc/python/unipath/
>>> from unipath import Path
>>> absolute_path = Path(''mydir/myfile.txt'').absolute()
Path(''C://example//cwd//mydir//myfile.txt'')
>>> str(absolute_path)
C://example//cwd//mydir//myfile.txt
>>>
Recomendaría usar este paquete, ya que ofrece una interfaz limpia para las utilidades comunes de os.path .
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)