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

Wie öffne ich Dateien im selben Verzeichnis wie Ihr Python-Skript?

Susan Sarandon
Susan SarandonOriginal
2024-11-18 12:19:02522Durchsuche

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

Dateiöffnung im selben Verzeichnis wie das laufende Skript

Bei der Arbeit mit Python-Skripten werden Dateien zuverlässig im selben Verzeichnis wie das laufende Skript geöffnet entscheidend. Allerdings können bei der Verwendung von Befehlen wie open("Some file.txt", "r") Probleme auftreten, wenn das Skript unter Windows per Doppelklick ausgeführt wird.

Problematische und zuverlässige Techniken

Zu den Techniken, die möglicherweise fehlschlagen, gehören:

  • os.getcwd() und os.path.abspath('') gibt das aktuelle Arbeitsverzeichnis zurück, nicht das Skriptverzeichnis.
  • os.path.dirname(sys.argv[0]) und os.path.dirname(__file__) können zurückgegeben werden ein relativer oder leerer Pfad, und __file__ ist in bestimmten Umgebungen nicht verfügbar.

Eine zuverlässige Methode ist:

__location__ = os.path.realpath(
    os.path.join(os.getcwd(), os.path.dirname(__file__)))

Dies kombiniert das aktuelle Arbeitsverzeichnis mit dem von __file__ abgeleiteten Pfad. Wenn __file__ absolut ist, wird das Präfix entfernt. Durch die Verarbeitung realer Pfade wird sichergestellt, dass alle symbolischen Links aufgelöst werden.

Dateien öffnen

Um eine Datei im selben Verzeichnis zu öffnen, verwenden Sie die folgende Syntax:

f = open(os.path.join(__location__, 'bundled-resource.jpg'))

Dadurch wird sichergestellt, dass sich die Datei im selben Verzeichnis befindet wie das laufende Skript. Die Technik funktioniert zuverlässig sowohl in Windows- als auch in Linux-Umgebungen und bewältigt Doppelklick- und Ressourcenbündelungsszenarien effektiv.

Das obige ist der detaillierte Inhalt vonWie öffne ich Dateien im selben Verzeichnis wie Ihr Python-Skript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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