Se eu tiver um arquivo aberto, há uma os
chamada para obter o caminho completo como uma string?
f = open('/Users/Desktop/febROSTER2012.xls')
De f
, como eu iria conseguir "/Users/Desktop/febROSTER2012.xls"
?
A chave aqui é o name
atributo do f
objeto que representa o arquivo aberto. Você entende assim:
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'
Ajuda?
tempfile.TemporaryFile(mode='w', prefix='xxx', suffix='.txt')
não funciona!tempfile
módulo, especialmente paratempfile.NamedTemporaryFile
, logo abaixo da documentação paratempfile.TemporaryFile
você mencionou. Este é o caso específico do arquivo temporário e, conforme visto na documentação, já existe uma solução.tempfile.TemporaryFile
não deve ser usado caso você queira ler o nome.Eu tinha exatamente o mesmo problema. Se você estiver usando um caminho relativo, os.path.dirname (path) retornará apenas o caminho relativo. os.path.realpath faz o truque:
fonte
os.path.realpath
retornarei '~ / text.txt' em vez de '~ / Documents / text.txt'.E se você quiser apenas obter o nome do diretório e não precisar do nome do arquivo com ele, você pode fazer isso da seguinte maneira convencional usando o
os
módulo Python.Dessa forma, você pode obter a estrutura do diretório.
fonte
f = open('febROSTER2012.xls')
. Como você pode chegar ao caminho completo?Você pode conseguir assim também.
fonte