proyectos ejemplos python absolute-path

python - ejemplos - django



Obtenga rutas absolutas de todos los archivos en un directorio (7)

Puede usar os.path.abspath() para convertir rutas relativas en rutas absolutas:

file_paths = [] for folder, subs, files in os.walk(rootdir): for filename in files: file_paths.append(os.path.abspath(os.path.join(folder, filename)))

¿Cómo obtengo las rutas absolutas de todos los archivos en un directorio que podría tener muchas subcarpetas en Python?

Sé que os.walk() recursivamente me da una lista de directorios y archivos, pero parece que no me da lo que quiero.


Quería mantener los detalles del subdirectorio y no los archivos y solo quería subdividirlos con un archivo xml en ellos. Puedo hacerlo de esta manera:

for rootDirectory, subDirectories, files in os.walk(eventDirectory): for subDirectory in subDirectories: absSubDir = os.path.join(rootDirectory, subDirectory) if len(glob.glob(os.path.join(absSubDir, "*.xml"))) == 1: print "Parsing information in " + absSubDir


Si tiene Python 3.4 o posterior, puede usar pathlib (o un backport de terceros si tiene una versión anterior de Python):

import pathlib for filepath in pathlib.Path(directory).glob(''**/*''): print(filepath.absolute())


Tratar:

import os for root, dirs, files in os.walk(''.''): for file in files: p=os.path.join(root,file) print p print os.path.abspath(p) print


os.path.abspath se asegura de que una ruta sea absoluta. Use la siguiente función auxiliar:

import os def absoluteFilePaths(directory): for dirpath,_,filenames in os.walk(directory): for f in filenames: yield os.path.abspath(os.path.join(dirpath, f))


from glob import glob def absolute_file_paths(directory): return glob(join(directory, "**"))


import os for root, dirs, files in os.walk(os.path.abspath("../path/to/dir/")): for file in files: print os.path.join(root, file)