Öffnen von Dateien im Verzeichnis des laufenden Skripts [Überarbeitet]
In Python das Öffnen von Dateien, die sich im selben Verzeichnis wie das laufende Skript befinden kann eine Herausforderung darstellen, insbesondere wenn man die plattformübergreifende Kompatibilität in Betracht zieht. Ein gängiger Ansatz ist die Verwendung von open("Some file.txt", "r"), was funktioniert, wenn das Skript über die Befehlszeile ausgeführt wird. Wenn das Skript jedoch über einen Doppelklick in Windows gestartet wird, versucht es möglicherweise, die Datei aus einem falschen Verzeichnis zu öffnen.
Um dieses Problem zu beheben, haben Entwickler nach zuverlässigen Alternativen gesucht. os.path.join(sys.path[0], „Some file.txt“) hat sich als gängige Problemumgehung herausgestellt, es bestehen jedoch weiterhin Bedenken hinsichtlich seiner möglichen Einschränkungen.
Bestimmen des Skriptverzeichnisses
Die Identifizierung des Verzeichnisses des Skripts ist entscheidend für das Öffnen der darin befindlichen Dateien. Unter den verschiedenen verfügbaren Methoden rufen os.getcwd() und os.path.abspath('') das aktuelle Arbeitsverzeichnis ab, das nicht unbedingt das Verzeichnis des Skripts sein muss. Ebenso stellen os.path.dirname(sys.argv[0]) und os.path.dirname(__file__) den Ausführungspfad des Skripts bereit, der relativ oder unvollständig sein kann, wenn das Skript in bestimmten Umgebungen ausgeführt wird.
Empfohlene Lösung
Um ein zuverlässiges Öffnen der Datei im Verzeichnis des Skripts sicherzustellen, ist der folgende Ansatz empfohlen:
__location__ = os.path.realpath( os.path.join(os.getcwd(), os.path.dirname(__file__)))
Diese Zeile kombiniert das aktuelle Arbeitsverzeichnis und den Pfad des Skripts und stellt sicher, dass absolute Pfade beim Auflösen symbolischer Links unberührt bleiben.
So öffnen Sie Dateien mit dieser Methode:
f = open(os.path.join(__location__, 'bundled-resource.jpg'))
Dieser Ansatz bietet eine robuste Lösung zum Öffnen von Dateien im selben Verzeichnis wie das laufende Skript, unabhängig von der Ausführungsumgebung oder Plattform.
Das obige ist der detaillierte Inhalt vonWie öffne ich zuverlässig Dateien im selben Verzeichnis wie Ihr laufendes Python-Skript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!