Hva er PXD-filformatet?
.pxd er et utviklerfilformat opprinnelig assosiert med programmeringsspråket Pyrex, og er nå standard deklarasjonsformat for Cython, dets aktivt vedlikeholdte etterfølger. .pxd-filer lagrer moduldeklarasjoner - typedefinisjoner, funksjonssignaturer og grensesnitt for eksterne C-biblioteker - som kan deles på tvers av Cython-moduler. På samme måte som en C-header, legges en .pxd til i byggingen slik at andre moduler kan få tilgang til de deklarerte typene og funksjonene. Cython lagrer implementasjonskode i .pyx-filer.
Pyrex tillot utviklere å lage Python-utvidelsesmoduler ved bruk av C-lignende syntaks. Cython, som ble skilt ut fra Pyrex i 2007, støtter både C- og Python-syntaks og er det prosjektet som vedlikeholdes i dag. Både Pyrex- og Cython-syntaks ligner mer på Python enn på C, noe som gjør det lett tilgjengelig for Python-utviklere. Applikasjoner som blander moduler skrevet i C og Python er mer effektive ytelsesmessig, på bekostning av noe kodekompleksitet og ekstra kompileringstrinn. En .pxd-deklarasjonsfil hentes inn i en annen Cython-kilde ved hjelp av nøkkelordet cimport - i motsetning til standard Python-moduler, som bruker import.
Sikkerhet og trygghet
RISIKO: LOWEn .pxd er kildekode i ren tekst - ikke kjørbar i seg selv og har lav risiko ved åpning i en redigerer. Vanlig forsiktighet for kildekode gjelder: bygging av et prosjekt som inkluderer utroverdige .pyx/.pxd-filer kjører Cython-kompilatoren og en C-kompilator på den koden, som kan utføre vilkårlig byggelogikk - kompiler kun kode du stoler på. Å lese en .pxd er ufarlig.
Formatdetaljer
i et nøtteskall- Pixadex ikonbibliotek (Mac) - Den utgåtte Mac-appen Pixadex lagret ikonsamlinger i .pxd-filer - ikke relatert til Cython.
- Pyxis / PixelView / ProxyDesigner-data - Ulike nisjeverktøy (en Pyxis molekylviser, ProxyDesigner) brukte .pxd for sine egne binære prosjekt-/datafiler.
Programmer som åpner PXD-filer
Tekniske detaljer
dyp spesifikasjon| Filtype | Cython-deklarasjonsfil i ren tekst |
| MIME-type | text/x-cython (også akseptert som text/plain) |
| Tegnoding | UTF-8 eller ASCII; menneskelig lesbar kildetekst uten binær header |
| Filsignatur | Ingen - gjenkjennes av filendelsen og Cython-spesifikke nøkkelord som cdef, ctypedef og cimport |
| Paret format | Vanligvis paret med en .pyx-implementasjonsfil med samme navn (f.eks. mymodule.pxd sammen med mymodule.pyx) |
| Importmekanisme | Brukes av andre Cython-moduler via nøkkelordet cimport, ikke den vanlige Python-importen |
| Innholdsrestriksjoner | Kun deklarasjoner: cdef-typer og funksjoner, ctypedef, struct/union/enum, extern C/C++ blokker; ingen funksjonsimplementasjoner eller kjørbare instruksjoner tillatt |
| Rolle i kompilering | Kun ved bygging; kompileres ikke til en separat binærfil - deklarasjoner blir lagt inn i de mottakende .pyx-filene av Cython-kompilatoren |
| C-analog | Funksjonell ekvivalent til en C .h-headerfil for Cython-moduler |
| Verktøykjede | Behandles av Cython-kompilatoren; integreres med setuptools, pip, scikit-build og CMake-byggesystemer |
| Plattformstøtte | Plattformuavhengig: Windows, macOS, Linux - alle operativsystemer med en C-kompilator og CPython eller PyPy |
| Typisk filstørrelse | Fra noen få hundre byte til titalls KB, avhengig av antall deklarerte symboler |
| Språkversjon | Følger Cython-språkversjonen til verktøykjeden som brukes (for øyeblikket Cython 3.x) |
| Utgitt | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Siste versjon | Tracks the current Cython release (Cython 3.x) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | cython.readthedocs.io |
PXD-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PXD-filer.