Vad är filformatet PTH?
En .pth-fil är en konfigurationsfil i klartext som bearbetas av Pythons inbyggda site-modul vid start av tolken. Varje rad i filen är antingen en katalogsökväg som ska läggas till i sys.path, eller en import-sats som ska köras som Python-kod. Tomma rader och rader som börjar med # behandlas som kommentarer och ignoreras.
.pth-filer måste placeras i en katalog som site-modulen skannar - vanligtvis site-packages eller dist-packages - så att Python hittar dem automatiskt när tolken startar. Pakethanterare som pip och conda använder .pth-filer för att registrera installerade paket i Python-sökvägen utan att modifiera själva installationen av tolken.
Formatet har varit stabilt sedan Python 1.5.2 (1999) och innehåller ingen versionsinformation. Filerna är vanlig UTF-8 (eller ASCII) text, vanligtvis bara några rader och under 1 KB.
En viktig säkerhetsnotering: eftersom rader som börjar med import körs som Python-kod vid varje start, kan en skadlig .pth-fil placerad i site-packages uppnå persistent kodexekvering - en känd injektionsvektor på komprometterade system.
Observera att .pth också är den filändelse som används av PyTorch för serialiserade modellkontrollpunkter - ett binärt format som är helt orelaterat till Pythons sökvägskonfiguration. Filens plats och innehåll är det tillförlitliga sättet att skilja mellan de två användningsområdena.
Säkerhet & trygghet
RISK: MEDIUMEn Python .pth-fil är klartext och kan inte köras på egen hand. Men rader som börjar med «import» körs som Python-kod varje gång Python startar. En skadlig .pth-fil placerad i site-packages är en känd teknik för persistens/kodinjektion på komprometterade system. Om du hittar en oväntad .pth-fil i din Python site-packages, inspektera dess innehåll innan du litar på den. På ett friskt system bör alla .pth-filer motsvara legitimt installerade paket.
Formatdetaljer
i ett nötskal- PyTorch Model Checkpoint - PyTorch sparar konventionellt modellens tillstånd som .pth-filer (binärt Pickle/ZIP-format); detta krockar med Pythons egna .pth-sökvägsfiler och .pt föredras numera.
- VisualGPSXP Path File - VisualGPSXP (föråldrat GPS-verktyg för Windows) sparade GPS-spår som .pth; programvaran är föråldrad och denna användning är extremt sällsynt.
Program som öppnar PTH-filer
Tekniska detaljer
djup specifikation| Kodning | Klartext, UTF-8 eller ASCII |
| Container | Klartext (ingen omslag eller binär struktur) |
| Radsyntax | En post per rad: en katalogsökväg, en «import <modul>»-sats, en tom rad eller en «#»-kommentar |
| Bearbetningsutlösare | Pythons «site»-modul läser alla .pth-filer i site-packages / dist-packages vid varje start av tolken |
| Effekt på sys.path | Varje giltig katalograd läggs till i sys.path, vilket gör dess paket importerbara utan explicit sökvägsmanipulering |
| Exekvering av import-rader | Rader som börjar med «import» körs som Python-kod vid start - en risk för persistens/injektion på komprometterade system |
| Typisk filstorlek | Under 1 KB (vanligtvis 1-10 rader) |
| Filsignatur | Ingen - klartext utan magic bytes eller binärt huvud |
| MIME-typ | text/plain |
| Obligatorisk filplats | Måste ligga i en katalog som skannas av site-modulen: site-packages, dist-packages eller Pythons installationsrot |
| Formatstabilitet | Oförändrat sedan Python 1.5.2 (april 1999); inget versionsfält; helt bakåtkompatibelt |
| Associerat OS | Windows, macOS, Linux - överallt där Python körs |
| Namnkollision | .pth används även av PyTorch för binära modellfiler - ett helt annat format som skiljs åt genom filinnehåll och plats |
| Släppt | Python 1.5.2 (1999) - site module formalised .pth processing |
| Senaste version | No versioning - format unchanged; behaviour documented in Python 3 'site' module |
| Öppen standard | Ja · royaltyfri |
| Specifikation | docs.python.org |
PTH-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PTH-filer.