Hva er PTH-filformatet?
En .pth-fil er en konfigurasjonsfil i ren tekst som behandles av Pythons innebygde site-modul ved oppstart av tolken. Hver linje i filen er enten en mappebane som skal legges til i sys.path, eller en import-setning som skal kjøres som Python-kode. Blanke linjer og linjer som starter med # behandles som kommentarer og ignoreres.
.pth-filer må plasseres i en mappe som site-modulen skanner - vanligvis site-packages eller dist-packages - slik at Python finner dem automatisk når tolken starter. Pakkebehandlere som pip og conda bruker .pth-filer for å registrere installerte pakker i Python-stien uten å endre selve installasjonen av tolken.
Formatet har vært stabilt siden Python 1.5.2 (1999) og inneholder ingen versjonsinformasjon. Filene er ren UTF-8 (eller ASCII) tekst, vanligvis bare noen få linjer og under 1 KB.
En viktig sikkerhetsmerknad: Fordi linjer som starter med import kjøres som Python-kode ved hver oppstart, kan en ondsinnet .pth-fil plassert i site-packages oppnå vedvarende kjøring av kode - en kjent injeksjonsvektor på kompromitterte systemer.
Merk at .pth også er filendelsen som brukes av PyTorch for serialiserte modell-sjekkpunkter - et binært format som er helt urelatert til Pythons stikonfigurasjon. Filens plassering og innhold er den pålitelige måten å skille mellom de to bruksområdene.
Sikkerhet og trygghet
RISIKO: MEDIUMEn Python .pth-fil er ren tekst og kan ikke kjøres alene. Linjer som starter med «import» kjøres imidlertid som Python-kode hver gang Python starter. En ondsinnet .pth-fil plassert i site-packages er en kjent teknikk for vedvarende kodeinjeksjon på kompromitterte systemer. Hvis du finner en uventet .pth-fil i din Python site-packages, bør du inspisere innholdet før du stoler på den. På et friskt system skal alle .pth-filer tilsvare legitimt installerte pakker.
Formatdetaljer
i et nøtteskall- PyTorch Model Checkpoint - PyTorch lagrer konvensjonelt modell-tilstander som .pth-filer (binært Pickle/ZIP-format); dette er i konflikt med Pythons egne .pth-stifiler, og .pt er nå foretrukket.
- VisualGPSXP Path File - VisualGPSXP (eldre GPS-verktøy for Windows) lagret GPS-sporstier som .pth; programvaren er foreldet og denne bruken er ekstremt sjelden.
Programmer som åpner PTH-filer
Tekniske detaljer
dyp spesifikasjon| Koding | Ren tekst, UTF-8 eller ASCII |
| Beholder | Ren tekst (ingen innpakning eller binær struktur) |
| Linjesyntaks | Én oppføring per linje: en mappebane, en «import <modul>»-setning, en blank linje eller en «#»-kommentar |
| Behandlingsutløser | Pythons «site»-modul leser alle .pth-filer i site-packages / dist-packages ved hver oppstart av tolken |
| Effekt på sys.path | Hver gyldig mappelinje legges til i sys.path, noe som gjør pakkene der importerbare uten eksplisitt sti-manipulering |
| Kjøring av import-linjer | Linjer som starter med «import» kjøres som Python-kode ved oppstart - en risiko for vedvarende tilgang/injeksjon på kompromitterte systemer |
| Typisk filstørrelse | Under 1 KB (vanligvis 1-10 linjer) |
| Filsignatur | Ingen - ren tekst uten magic bytes eller binær header |
| MIME-type | text/plain |
| Påkrevd filplassering | Må ligge i en mappe skannet av site-modulen: site-packages, dist-packages eller Pythons installasjonsrot |
| Formatstabilitet | Uendret siden Python 1.5.2 (april 1999); ingen versjonsfelt; fullt bakoverkompatibel |
| Tilknyttet OS | Windows, macOS, Linux - overalt hvor Python kjører |
| Navnekollisjon | .pth brukes også av PyTorch for binære sjekkpunktfiler for modeller - et helt annet format som skilles ved filinnhold og plassering |
| Utgitt | Python 1.5.2 (1999) - site module formalised .pth processing |
| Siste versjon | No versioning - format unchanged; behaviour documented in Python 3 'site' module |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | docs.python.org |
PTH-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PTH-filer.