Si j'ai un fichier ouvert, y a-t-il un os
appel pour obtenir le chemin complet sous forme de chaîne?
f = open('/Users/Desktop/febROSTER2012.xls')
De f
, comment pourrais-je obtenir "/Users/Desktop/febROSTER2012.xls"
?
La clé ici est l' name
attribut de l' f
objet représentant le fichier ouvert. Vous obtenez comme ça:
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'
Aide-t-il?
tempfile.TemporaryFile(mode='w', prefix='xxx', suffix='.txt')
ne fonctionne pas!tempfile
module, en particulier pourtempfile.NamedTemporaryFile
, juste en dessous de la documentation quetempfile.TemporaryFile
vous avez mentionnée. C'est un cas particulier pour le fichier temporaire et, comme vu dans la documentation, il existe déjà une solution.tempfile.TemporaryFile
n'est pas destiné à être utilisé au cas où vous voudriez lire le nom.J'ai eu exactement le même problème. Si vous utilisez un chemin relatif, os.path.dirname (chemin) ne renverra que le chemin relatif. os.path.realpath fait l'affaire:
la source
os.path.realpath
je renverrai «~ / text.txt» au lieu de «~ / Documents / text.txt».Et si vous voulez simplement obtenir le nom du répertoire et que vous n'avez pas besoin du nom de fichier qui l'accompagne, vous pouvez le faire de la manière conventionnelle suivante en utilisant
os
le module Python.De cette façon, vous pouvez obtenir la structure des répertoires.
la source
f = open('febROSTER2012.xls')
. Comment pouvez-vous accéder au chemin complet?Vous pouvez aussi l'obtenir comme ça.
la source