Wenn ich eine geöffnete Datei habe, gibt es einen os
Aufruf, um den vollständigen Pfad als Zeichenfolge abzurufen?
f = open('/Users/Desktop/febROSTER2012.xls')
Von f
, wie würde ich bekommen "/Users/Desktop/febROSTER2012.xls"
?
Der Schlüssel hier ist das name
Attribut des f
Objekts, das die geöffnete Datei darstellt. Sie bekommen es so:
>>> f = open('/Users/Desktop/febROSTER2012.xls')
>>> f.name
'/Users/Desktop/febROSTER2012.xls'
Hilft es?
tempfile.TemporaryFile(mode='w', prefix='xxx', suffix='.txt')
funktioniert nicht!tempfile
Moduls, insbesondere fürtempfile.NamedTemporaryFile
, direkt unter der Dokumentation, dietempfile.TemporaryFile
Sie erwähnt haben. Dies ist ein spezieller Fall für temporäre Dateien, und wie in den Dokumenten zu sehen ist, gibt es bereits eine Lösung.tempfile.TemporaryFile
ist nicht für den Fall gedacht, dass Sie den Namen lesen möchten.Ich hatte genau das gleiche Problem. Wenn Sie einen relativen Pfad verwenden, gibt os.path.dirname (Pfad) nur den relativen Pfad zurück. os.path.realpath macht den Trick:
quelle
os.path.realpath
ändere , wird '~ / text.txt' anstelle von '~ / Documents / text.txt' zurückgegeben.Und wenn Sie nur den Verzeichnisnamen abrufen möchten und den dazugehörigen Dateinamen nicht benötigen, können Sie dies mit dem
os
Python-Modul auf die folgende herkömmliche Weise tun .Auf diese Weise können Sie die Verzeichnisstruktur abrufen.
quelle
f = open('febROSTER2012.xls')
. Wie können Sie den vollen Weg erreichen?Sie können es auch so bekommen.
quelle