Si tengo un archivo abierto, ¿hay una osllamada para obtener la ruta completa como una cadena?
f = open('/Users/Desktop/febROSTER2012.xls')
De f, ¿cómo llegaría "/Users/Desktop/febROSTER2012.xls"?
La clave aquí es el nameatributo del fobjeto que representa el archivo abierto. Lo consigues así:
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'
Te ayuda?
tempfile.TemporaryFile(mode='w', prefix='xxx', suffix='.txt')no funciona!tempfilemódulo, especialmente paratempfile.NamedTemporaryFile, justo debajo de la documentacióntempfile.TemporaryFileque mencionó. Este es un caso específico para el archivo temporal y, como se ve en los documentos, ya existe una solución.tempfile.TemporaryFileno está destinado a ser utilizado en caso de que desee leer el nombre.Yo tuve exactamente el mismo problema. Si está utilizando una ruta relativa, os.path.dirname (ruta) solo devolverá la ruta relativa. os.path.realpath hace el truco:
fuente
os.path.realpathdevolverá '~ / text.txt' en lugar de '~ / Documents / text.txt'.Y si solo desea obtener el nombre del directorio y no es necesario que el nombre del archivo lo acompañe, puede hacerlo de la siguiente manera convencional usando el
osmódulo Python.De esta forma puede hacerse con la estructura del directorio.
fuente
f = open('febROSTER2012.xls'). ¿Cómo se puede llegar al camino completo?También puedes conseguirlo así.
fuente