Vad är filformatet PXD?
.pxd är ett filformat för utvecklare som ursprungligen förknippades med programmeringsspråket Pyrex och är nu standardformatet för deklarationer i Cython, dess aktivt underhållna efterföljare. .pxd-filer lagrar moduldeklarationer - typdefinitioner, funktionssignaturer och gränssnitt för externa C-bibliotek - som kan delas mellan Cython-moduler. Precis som en C-header läggs en .pxd till i bygget så att andra moduler kan komma åt de deklarerade typerna och funktionerna. Cython lagrar implementeringskod i .pyx-filer.
Pyrex gjorde det möjligt för utvecklare att skapa Python-tilläggsmoduler med C-liknande syntax. Cython, som knoppades av från Pyrex 2007, stöder både C- och Python-syntax och är det projekt som underhålls idag. Både Pyrex- och Cython-syntax påminner mer om Python än C, vilket gör dem lättillgängliga för Python-utvecklare. Applikationer som blandar moduler skrivna i C och Python är mer effektiva prestandamässigt, till kostnaden av viss kodkomplexitet och ytterligare kompileringssteg. En .pxd-deklarationsfil tas in i en annan Cython-källa med nyckelordet cimport - till skillnad från vanliga Python-moduler, som använder import.
Säkerhet & trygghet
RISK: LOWEn .pxd är källkod i klartext - den är inte körbar i sig själv och innebär låg risk att öppna i en redigerare. Vanlig försiktighet med källkod gäller: att bygga ett projekt som inkluderar okända .pyx/.pxd-filer kör Cython-kompilatorn och en C-kompilator på den koden, vilket kan exekvera godtycklig bygglogik - kompilera endast kod du litar på. Att läsa en .pxd är ofarligt.
Formatdetaljer
i ett nötskal- Pixadex ikonbibliotek (Mac) - Den nedlagda Mac-appen Pixadex lagrade ikonsamlingar i .pxd-filer - ej relaterat till Cython.
- Pyxis / PixelView / ProxyDesigner-data - Olika nischverktyg (en Pyxis-molekylvisare, ProxyDesigner) använde .pxd för sina egna binära projekt- eller datafiler.
Program som öppnar PXD-filer
Tekniska detaljer
djup specifikation| Filtyp | Källkodsfil för Cython-deklarationer i klartext |
| MIME-typ | text/x-cython (accepteras även som text/plain) |
| Teckenkodning | UTF-8 eller ASCII; mänskligt läsbar källkod utan binär header |
| Filsignatur | Ingen - identifieras via filändelse och Cython-specifika nyckelord som cdef, ctypedef och cimport |
| Parad filtyp | Vanligtvis parad med en .pyx-implementeringsfil med samma namn (t.ex. mymodule.pxd tillsammans med mymodule.pyx) |
| Importmekanism | Används av andra Cython-moduler via nyckelordet cimport, inte den vanliga Python-importen |
| Innehållsbegränsningar | Endast deklarationer: cdef-typer och funktioner, ctypedef, struct/union/enum, extern C/C++-block; inga funktionsimplementeringar eller körbara satser tillåtna |
| Roll vid kompilering | Endast vid byggtid; kompileras inte till en separat binärfil - deklarationer infogas direkt i de .pyx-filer som använder dem av Cython-kompilatorn |
| C-motsvarighet | Funktionell motsvarighet till en C .h-headerfil för Cython-moduler |
| Verktygskedja | Behandlas av Cython-kompilatorn; integreras med setuptools, pip, scikit-build och CMake-byggsystem |
| Plattformstöd | Plattformsoberoende: Windows, macOS, Linux - alla operativsystem med en C-kompilator och CPython eller PyPy |
| Typisk filstorlek | Från några hundra bytes till tiotals KB, beroende på antal deklarerade symboler |
| Språkversion | Följer Cython-språkversionen i den verktygskedja som används (för närvarande Cython 3.x) |
| Släppt | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Senaste version | Tracks the current Cython release (Cython 3.x) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | cython.readthedocs.io |
PXD-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PXD-filer.