Hvad er PXD-filformatet?
.pxd er et udviklerfilformat, der oprindeligt var forbundet med programmeringssproget Pyrex og nu er standarddeklarationsformatet for Cython, dets aktivt vedligeholdte efterfølger. .pxd-filer gemmer moduldeklarationer - typedefinitioner, funktionssignaturer og eksterne C-biblioteksgrænseflader - som kan deles på tværs af Cython-moduler. Ligesom en C-header tilføjes en .pxd til buildet, så andre moduler kan få adgang til de deklarerede typer og funktioner. Cython gemmer implementeringskode i .pyx-filer.
Pyrex gjorde det muligt for udviklere at oprette Python-udvidelsesmoduler ved hjælp af en C-lignende syntaks. Cython, der blev forket fra Pyrex i 2007, understøtter både C- og Python-syntaks og er det projekt, der vedligeholdes i dag. Både Pyrex- og Cython-syntaks minder meget om Python frem for C, hvilket gør det let tilgængeligt for Python-udviklere. Applikationer, der blander moduler skrevet i C og Python, er mere effektive rent ydelsesmæssigt, på bekostning af øget kodekompleksitet og ekstra kompileringstrin. En .pxd-deklarationsfil hentes ind i en anden Cython-kilde ved hjælp af nøgleordet cimport - i modsætning til standard Python-moduler, som bruger import.
Sikkerhed og tryghed
RISIKO: LOWEn .pxd er kildekode i almindelig tekst - den er ikke eksekverbar i sig selv og udgør en lav risiko ved åbning i en editor. Den sædvanlige forsigtighed ved kildekode gælder: Ved at bygge et projekt, der inkluderer upålidelige .pyx/.pxd-filer, køres Cython-compileren og en C-compiler på den kode, hvilket kan eksekvere vilkårlig build-logik - kompiler kun kode, du har tillid til. Læsning af en .pxd er harmløs.
Formatdetaljer
kort fortalt- Pixadex ikonbibliotek (Mac) - Den udgåede Mac-app Pixadex gemte ikonsamlinger i .pxd-filer - ikke relateret til Cython.
- Pyxis / PixelView / ProxyDesigner data - Forskellige nicheværktøjer (en Pyxis molekylær viewer, ProxyDesigner) brugte .pxd til deres egne binære projekt-/datafiler.
Programmer der åbner PXD-filer
Tekniske detaljer
dyb specifikation| Filtype | Cython-deklarationskildekode i almindelig tekst |
| MIME-type | text/x-cython (accepteres også som text/plain) |
| Tegnkodning | UTF-8 eller ASCII; læsbar kildetekst uden binær header |
| Filsignatur | Ingen - genkendes på filendelsen og Cython-specifikke nøgleord som cdef, ctypedef og cimport |
| Parret format | Typisk parret med en .pyx-implementeringsfil af samme navn (f.eks. mymodule.pxd sammen med mymodule.pyx) |
| Importmekanisme | Forbruges af andre Cython-moduler via cimport-nøgleordet, ikke den standard Python import-sætning |
| Indholdsbegrænsninger | Kun deklarationer: cdef-typer og funktioner, ctypedef, struct/union/enum, extern C/C++ blokke; ingen funktionsimplementeringer eller eksekverbare sætninger tilladt |
| Rolle i kompilering | Kun ved build-tid; kompileres ikke til en separat binær fil - deklarationer indlejres i de forbrugende .pyx-filer af Cython-compileren |
| C-analog | Funktionel ækvivalent til en C .h-headerfil for Cython-moduler |
| Værktøjskæde | Behandles af Cython-compileren; integreres med setuptools, pip, scikit-build og CMake-buildsystemer |
| Platformunderstøttelse | Platformsuafhængig: Windows, macOS, Linux - ethvert OS med en C-compiler og CPython eller PyPy |
| Typisk filstørrelse | Fra få hundrede bytes til titusindvis af KB, afhængigt af antallet af deklarerede symboler |
| Sprogversionering | Følger Cython-sprogversionen af den anvendte værktøjskæde (i øjeblikket Cython 3.x) |
| Udgivet | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Seneste version | Tracks the current Cython release (Cython 3.x) |
| Åben standard | Ja · royaltyfri |
| Specifikation | cython.readthedocs.io |
PXD-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PXD-filer.