Was ist das PTH-Dateiformat?
Eine .pth-Datei ist eine Klartext-Pfadkonfigurationsdatei, die vom integrierten site-Modul von Python beim Start des Interpreters verarbeitet wird. Jede Zeile in der Datei ist entweder ein Verzeichnispfad, der an sys.path angehängt wird, oder eine import-Anweisung, die als Python-Code ausgeführt wird. Leerzeilen und Zeilen, die mit # beginnen, werden als Kommentare behandelt und ignoriert.
.pth-Dateien müssen in einem Verzeichnis abgelegt werden, das vom site-Modul gescannt wird - typischerweise site-packages oder dist-packages -, damit Python sie beim Start des Interpreters automatisch findet. Paketmanager wie pip und conda verwenden .pth-Dateien, um installierte Pakete im Python-Pfad zu registrieren, ohne die Interpreter-Installation selbst zu modifizieren.
Das Format ist seit Python 1.5.2 (1999) stabil und enthält keine Versionsinformationen. Die Dateien sind einfacher UTF-8- (oder ASCII-) Text, meist nur wenige Zeilen lang und unter 1 KB groß.
Ein wichtiger Sicherheitshinweis: Da Zeilen, die mit import beginnen, bei jedem Start als Python-Code ausgeführt werden, ermöglicht eine bösartige .pth-Datei im Verzeichnis site-packages eine persistente Code-Ausführung - ein bekannter Injektionsvektor auf kompromittierten Systemen.
Beachten Sie, dass .pth auch die Erweiterung ist, die von PyTorch für serialisierte Modell-Checkpoints verwendet wird - ein Binärformat, das in keinem Zusammenhang mit der Pfadkonfiguration von Python steht. Der Speicherort und der Inhalt der Datei sind die zuverlässigsten Wege, um zwischen den beiden Verwendungszwecken zu unterscheiden.
Sicherheit
RISIKO: MEDIUMEine Python .pth-Datei ist Klartext und kann nicht eigenständig ausgeführt werden. Jedoch werden Zeilen, die mit „import“ beginnen, jedes Mal als Python-Code ausgeführt, wenn Python startet. Eine bösartige .pth-Datei in „site-packages“ ist eine bekannte Technik zur Code-Injektion auf kompromittierten Systemen. Wenn Sie eine unerwartete .pth-Datei in Ihrem Python-Verzeichnis finden, prüfen Sie deren Inhalt. Auf einem sauberen System sollten alle .pth-Dateien zu legitim installierten Paketen gehören.
Formatdetails
kurz gefasst- PyTorch Model Checkpoint - PyTorch speichert Modell-Status-Dicts herkömmlich als .pth-Dateien (binäres Pickle/ZIP-Format); dies kollidiert mit Pythons eigenen .pth-Pfaddateien, weshalb .pt nun bevorzugt wird.
- VisualGPSXP Path File - VisualGPSXP (veraltetes GPS-Dienstprogramm für Windows) speicherte GPS-Tracks als .pth; die Software ist veraltet und diese Verwendung ist extrem selten.
Programme zum Öffnen von PTH-Dateien
Technische Details
technische Spezifikation| Kodierung | Klartext, UTF-8 oder ASCII |
| Container | Klartext (kein Wrapper oder binäre Struktur) |
| Zeilensyntax | Ein Eintrag pro Zeile: ein Verzeichnispfad, eine „import <module>“-Anweisung, eine Leerzeile oder ein „#“-Kommentar |
| Verarbeitungsauslöser | Das „site“-Modul von Python liest bei jedem Interpreter-Start alle .pth-Dateien in „site-packages“ / „dist-packages“ |
| Auswirkung auf sys.path | Jede gültige Verzeichniszeile wird an `sys.path` angehängt, wodurch deren Pakete ohne explizite Pfadmanipulation importierbar werden |
| Ausführung von import-Zeilen | Zeilen, die mit „import“ beginnen, werden beim Start als Python-Code ausgeführt - ein Risiko für Persistenz/Injektion auf kompromittierten Systemen |
| Typische Dateigröße | Unter 1 KB (meist 1-10 Zeilen) |
| Dateisignatur | Keine - Klartext ohne Magic Bytes oder binären Header |
| MIME-Typ | text/plain |
| Erforderlicher Speicherort | Muss in einem vom „site“-Modul gescannten Verzeichnis liegen: „site-packages“, „dist-packages“ oder das Python-Installationsverzeichnis |
| Formatstabilität | Unverändert seit Python 1.5.2 (April 1999); kein Versionsfeld; vollständig abwärtskompatibel |
| Zugehöriges Betriebssystem | Windows, macOS, Linux - überall dort, wo Python läuft |
| Namenskollision | .pth wird auch von PyTorch für binäre Modell-Checkpoint-Dateien verwendet - ein völlig anderes Format, das durch Inhalt und Speicherort unterschieden wird |
| Veröffentlicht | Python 1.5.2 (1999) - site module formalised .pth processing |
| Neueste Version | No versioning - format unchanged; behaviour documented in Python 3 'site' module |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | docs.python.org |
PTH-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu PTH-Dateien.
Häufig gestellte Fragen
Was ist eine .pth-Datei in Python?
sys.path) hinzufügt. Wenn sie in „site-packages“ platziert wird, liest Python sie beim Start automatisch aus.Wie öffne ich eine .pth-Datei?
Ist .pth dasselbe wie eine PyTorch-Modelldatei?
Kann eine .pth-Datei gefährlich sein?
Wie füge ich einen Pfad mithilfe einer .pth-Datei hinzu?
sys.path hinzufügen.