Heim > Backend-Entwicklung > Python-Tutorial > Wie öffne ich zuverlässig Dateien im selben Verzeichnis wie Ihr laufendes Python-Skript?

Wie öffne ich zuverlässig Dateien im selben Verzeichnis wie Ihr laufendes Python-Skript?

Mary-Kate Olsen
Freigeben: 2024-11-20 03:11:01
Original
457 Leute haben es durchsucht

How to Reliably Open Files in the Same Directory as Your Running Python Script?

Ö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__)))
Nach dem Login kopieren

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'))
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage