Modulobjekt¶
-
PyTypeObject PyModule_Type¶
- En del av Stabil ABI.
Denna instans av
PyTypeObject
representerar Pythons modultyp. Detta exponeras för Python-program somtypes.ModuleType
.
-
int PyModule_Check(PyObject *p)¶
Returnerar true om p är ett modulobjekt eller en subtyp av ett modulobjekt. Denna funktion lyckas alltid.
-
int PyModule_CheckExact(PyObject *p)¶
Returnerar true om p är ett modulobjekt, men inte en subtyp av
PyModule_Type
. Denna funktion lyckas alltid.
-
PyObject *PyModule_NewObject(PyObject *name)¶
- Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.
Returnerar ett nytt modulobjekt med
module.__name__
satt till name. Modulens attribut__name__
,__doc__
,__package__
och__loader__
fylls i (alla utom__name__
sätts tillNone
). Den som anropar är ansvarig för att ange attributet__file__
.Returnerar
NULL
med ett undantag inställt på fel.Tillagd i version 3.3.
Ändrad i version 3.4:
__package__
och__loader__
är nu inställda påNone
.
-
PyObject *PyModule_New(const char *name)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Liknar
PyModule_NewObject()
, men namnet är en UTF-8-kodad sträng i stället för ett Unicode-objekt.
-
PyObject *PyModule_GetDict(PyObject *module)¶
- Returnera värde: Lånad referens. En del av Stabil ABI.
Returnerar det ordboksobjekt som implementerar modul:s namnrymd; detta objekt är detsamma som
__dict__
-attributet för modulobjektet. Om module inte är ett modulobjekt (eller en subtyp av ett modulobjekt), avgesSystemError
ochNULL
returneras.Det rekommenderas att använda andra
PyModule_*
ochPyObject_*
funktioner snarare än att direkt manipulera en moduls__dict__
.
-
PyObject *PyModule_GetNameObject(PyObject *module)¶
- Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.
Returnerar modul:s
__name__
-värde. Om modulen inte tillhandahåller något värde eller om det inte är en sträng,SystemError
ochNULL
returneras.Tillagd i version 3.3.
-
const char *PyModule_GetName(PyObject *module)¶
- En del av Stabil ABI.
Liknar
PyModule_GetNameObject()
men returnerar namnet kodat till'utf-8'
.
-
void *PyModule_GetState(PyObject *module)¶
- En del av Stabil ABI.
Returnerar modulens ”tillstånd”, det vill säga en pekare till det minnesblock som allokerades när modulen skapades, eller
NULL
. SePyModuleDef.m_size
.
-
PyModuleDef *PyModule_GetDef(PyObject *module)¶
- En del av Stabil ABI.
Returnerar en pekare till
PyModuleDef
-strukturen från vilken modulen skapades, ellerNULL
om modulen inte skapades från en definition.
-
PyObject *PyModule_GetFilenameObject(PyObject *module)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Returnerar namnet på den fil som modul laddades från med hjälp av moduls attribut
__file__
. Om detta inte är definierat, eller om det inte är en sträng, uppstårSystemError
ochNULL
returneras; annars returneras en referens till ett Unicode-objekt.Tillagd i version 3.2.
-
const char *PyModule_GetFilename(PyObject *module)¶
- En del av Stabil ABI.
Liknar
PyModule_GetFilenameObject()
men returnerar filnamnet kodat till ’utf-8’.Föråldrad sedan version 3.2:
PyModule_GetFilename()
ger upphov tillUnicodeEncodeError
på okodbara filnamn, användPyModule_GetFilenameObject()
istället.
Definitioner av moduler¶
Funktionerna i föregående avsnitt fungerar på alla modulobjekt, inklusive moduler som importeras från Python-kod.
Moduler som definieras med hjälp av C API använder vanligtvis en moduldefinition, PyModuleDef
– en statiskt allokerad, konstant ”beskrivning” av hur en modul ska skapas.
Definitionen används vanligtvis för att definiera ett tilläggs ”huvud”-modulobjekt (se Definiera tilläggsmoduler för detaljer). Den används också för att skapa tilläggsmoduler dynamiskt.
Till skillnad från PyModule_New()
tillåter definitionen hantering av modultillstånd – en del av minnet som allokeras och rensas tillsammans med modulobjektet. Till skillnad från modulens Python-attribut kan Python-kod inte ersätta eller ta bort data som lagras i modulens tillstånd.
-
type PyModuleDef¶
- En del av Stabil ABI (inklusive alla medlemmar).
Moduldefinitionsstrukturen, som innehåller all information som behövs för att skapa ett modulobjekt. Denna struktur måste vara statiskt allokerad (eller på annat sätt garanteras vara giltig så länge moduler som skapats från den existerar). Vanligtvis finns det bara en variabel av denna typ för varje tilläggsmodul.
-
PyModuleDef_Base m_base¶
Initialisera alltid denna medlem till
PyModuleDef_HEAD_INIT
.
-
const char *m_name¶
Namn för den nya modulen.
-
const char *m_doc¶
Docstring för modulen; vanligtvis används en docstring-variabel som skapats med
PyDoc_STRVAR
.
-
Py_ssize_t m_size¶
Modulstatus kan förvaras i ett minnesområde per modul som kan hämtas med
PyModule_GetState()
, i stället för i statiska globaler. Detta gör moduler säkra för användning i flera undertolkare.Detta minnesområde allokeras baserat på m_size när modulen skapas och frigörs när modulobjektet avallokeras, efter att funktionen
m_free
har anropats, om den finns.Om du anger ett icke-negativt värde innebär det att modulen kan initieras på nytt och anger den extra mängd minne som krävs för dess tillstånd.
Om
m_size
sätts till-1
innebär det att modulen inte stöder undertolkare, eftersom den har ett globalt tillstånd. Negativam_size
är endast tillåtet när man använder legacy single-phase initialization eller när man creating modules dynamically.Se PEP 3121 för mer information.
-
PyMethodDef *m_methods¶
En pekare till en tabell med funktioner på modulnivå, beskrivna av
PyMethodDef
-värden. Kan varaNULL
om inga funktioner finns.
-
PyModuleDef_Slot *m_slots¶
En rad slotdefinitioner för flerfasinitialisering, avslutad med en
{0, NULL}
-post. Vid användning av äldre enfasinitialisering måste m_slots varaNULL
.
-
traverseproc m_traverse¶
En traversalfunktion som ska anropas under GC-traversal av modulobjektet, eller
NULL
om den inte behövs.Denna funktion anropas inte om modultillståndet begärdes men ännu inte har allokerats. Detta är fallet omedelbart efter att modulen skapats och innan modulen exekveras (
Py_mod_exec
funktion). Mer exakt anropas inte denna funktion omm_size
är större än 0 och modultillståndet (som returneras avPyModule_GetState()
) ärNULL
.Ändrad i version 3.9: Anropas inte längre innan modultillståndet har allokerats.
-
inquiry m_clear¶
En clear-funktion som ska anropas vid GC-rensning av modulobjektet, eller
NULL
om den inte behövs.Denna funktion anropas inte om modultillståndet begärdes men ännu inte har allokerats. Detta är fallet omedelbart efter att modulen skapats och innan modulen exekveras (
Py_mod_exec
funktion). Mer exakt anropas inte denna funktion omm_size
är större än 0 och modultillståndet (som returneras avPyModule_GetState()
) ärNULL
.Precis som
PyTypeObject.tp_clear
anropas inte den här funktionen alltid innan en modul avallokeras. Till exempel, när referensräkning är tillräckligt för att avgöra att ett objekt inte längre används, är den cykliska skräpsamlaren inte inblandad ochm_free
anropas direkt.Ändrad i version 3.9: Anropas inte längre innan modultillståndet har allokerats.
-
freefunc m_free¶
En funktion som ska anropas vid avallokering av modulobjektet, eller
NULL
om den inte behövs.Denna funktion anropas inte om modultillståndet begärdes men ännu inte har allokerats. Detta är fallet omedelbart efter att modulen skapats och innan modulen exekveras (
Py_mod_exec
funktion). Mer exakt anropas inte denna funktion omm_size
är större än 0 och modultillståndet (som returneras avPyModule_GetState()
) ärNULL
.Ändrad i version 3.9: Anropas inte längre innan modultillståndet har allokerats.
-
PyModuleDef_Base m_base¶
Modulplatser¶
-
type PyModuleDef_Slot¶
-
int slot¶
Ett slot-ID, som väljs bland de tillgängliga värden som beskrivs nedan.
-
void *value¶
Värde för slot, vars betydelse beror på slot-ID.
Tillagd i version 3.5.
-
int slot¶
De tillgängliga slot-typerna är:
-
Py_mod_create¶
Anger en funktion som anropas för att skapa själva modulobjektet. Poängaren value i denna slot måste peka på en funktion med samma signatur:
-
PyObject *create_module(PyObject *spec, PyModuleDef *def)¶
Funktionen tar emot en instans av
ModuleSpec
, enligt definitionen i PEP 451, och moduldefinitionen. Den bör returnera ett nytt modulobjekt, eller ange ett fel och returneraNULL
.Denna funktion bör hållas minimal. I synnerhet bör den inte anropa godtycklig Python-kod, eftersom försök att importera samma modul igen kan resultera i en oändlig loop.
Flera
Py_mod_create
-platser får inte anges i en moduldefinition.Om
Py_mod_create
inte anges kommer importmaskineriet att skapa ett normalt modulobjekt med hjälp avPyModule_New()
. Namnet är taget från spec, inte definitionen, för att göra det möjligt för tilläggsmoduler att dynamiskt anpassa sig till sin plats i modulhierarkin och importeras under olika namn genom symlinks, samtidigt som de delar en enda moduldefinition.Det finns inget krav på att det returnerade objektet ska vara en instans av
PyModule_Type
. Vilken typ som helst kan användas, så länge den stöder inställning och hämtning av importrelaterade attribut. Dock kan endastPyModule_Type
instanser returneras omPyModuleDef
har icke-NULL
m_traverse
,m_clear
,m_free
; icke- nollm_size
; eller andra slots änPy_mod_create
.-
PyObject *create_module(PyObject *spec, PyModuleDef *def)¶
-
Py_mod_exec¶
Specificerar en funktion som anropas för att exekvera modulen. Detta motsvarar att exekvera koden i en Python-modul: vanligtvis lägger denna funktion till klasser och konstanter i modulen. Funktionens signatur är:
Om flera
Py_mod_exec
-slots anges, behandlas de i den ordning de visas i m_slots-arrayen.
-
Py_mod_multiple_interpreters¶
Anger ett av följande värden:
-
Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED¶
Modulen stöder inte import i undertolkar.
-
Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED¶
Modulen kan importeras i undertolkar, men endast om de delar huvudtolkens GIL. (Se Isolering av tilläggsmoduler.)
-
Py_MOD_PER_INTERPRETER_GIL_SUPPORTED¶
Modulen stöder import i undertolkare, även när de har sin egen GIL. (Se Isolering av tilläggsmoduler.)
Denna plats avgör om import av denna modul i en subinterpreter kommer att misslyckas eller inte.
Flera
Py_mod_multiple_interpreters
-platser får inte anges i en moduldefinition.Om
Py_mod_multiple_interpreters
inte anges, är standardvärdet för importmaskinerietPy_MOD_MULTIPLE_INTERPRETERS_SUPPORTED
.Tillagd i version 3.12.
-
Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED¶
-
Py_mod_gil¶
Anger ett av följande värden:
-
Py_MOD_GIL_USED¶
Modulen är beroende av att det globala tolklåset (GIL) finns och kan komma åt globala tillstånd utan synkronisering.
-
Py_MOD_GIL_NOT_USED¶
Modulen är säker att köra utan en aktiv GIL.
Denna slot ignoreras av Python-byggnader som inte konfigurerats med
--disable-gil
. Annars avgör den om import av denna modul kommer att orsaka att GIL aktiveras automatiskt. Se Fri trådad CPython för mer detaljer.Flera
Py_mod_gil
-platser får inte anges i en moduldefinition.Om
Py_mod_gil
inte anges, är standardvärdet för importmaskinerietPy_MOD_GIL_USED
.Tillagd i version 3.13.
-
Py_MOD_GIL_USED¶
Dynamiskt skapande av tilläggsmoduler¶
Följande funktioner kan användas för att skapa en modul utanför ett tilläggs initialiseringsfunktion. De används också i initialisering i en fas.
-
PyObject *PyModule_Create(PyModuleDef *def)¶
- Returnera värde: Ny referens.
Skapa ett nytt modulobjekt, givet definitionen i def. Detta är ett makro som anropar
PyModule_Create2()
med module_api_version satt tillPYTHON_API_VERSION
, eller tillPYTHON_ABI_VERSION
om du använder limited API.
-
PyObject *PyModule_Create2(PyModuleDef *def, int module_api_version)¶
- Returnera värde: Ny referens. En del av Stabil ABI.
Skapa ett nytt modulobjekt med definitionen i def och API-versionen module_api_version. Om den versionen inte stämmer överens med versionen i den tolk som körs, skickas en
RuntimeWarning
ut.Returnerar
NULL
med ett undantag inställt på fel.Denna funktion stöder inte slots. Medlemmen
m_slots
i def måste varaNULL
.Anteckning
De flesta användningar av denna funktion bör använda
PyModule_Create()
istället; använd endast denna om du är säker på att du behöver den.
-
PyObject *PyModule_FromDefAndSpec(PyModuleDef *def, PyObject *spec)¶
- Returnera värde: Ny referens.
Detta makro anropar
PyModule_FromDefAndSpec2()
med module_api_version satt tillPYTHON_API_VERSION
, eller tillPYTHON_ABI_VERSION
om man använder limited API.Tillagd i version 3.5.
-
PyObject *PyModule_FromDefAndSpec2(PyModuleDef *def, PyObject *spec, int module_api_version)¶
- Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.
Skapar ett nytt modulobjekt, givet definitionen i def och ModuleSpec spec, med API-versionen module_api_version. Om den versionen inte stämmer överens med versionen i den tolk som körs, skickas en
RuntimeWarning
ut.Returnerar
NULL
med ett undantag inställt på fel.Observera att detta inte behandlar exekveringsplatser (
Py_mod_exec
). BådePyModule_FromDefAndSpec
ochPyModule_ExecDef
måste anropas för att initiera en modul fullständigt.Anteckning
De flesta användningar av denna funktion bör använda
PyModule_FromDefAndSpec()
istället; använd endast denna om du är säker på att du behöver den.Tillagd i version 3.5.
-
int PyModule_ExecDef(PyObject *module, PyModuleDef *def)¶
- En del av Stabil ABI sedan version 3.7.
Behandla alla exekveringsplatser (
Py_mod_exec
) som anges i def.Tillagd i version 3.5.
-
PYTHON_API_VERSION¶
C API-versionen. Definierad för bakåtkompatibilitet.
För närvarande uppdateras inte denna konstant i nya Python-versioner och är inte användbar för versionshantering. Detta kan komma att ändras i framtiden.
-
PYTHON_ABI_VERSION¶
Definierad som
3
för bakåtkompatibilitet.För närvarande uppdateras inte denna konstant i nya Python-versioner och är inte användbar för versionshantering. Detta kan komma att ändras i framtiden.
Stödfunktioner¶
Följande funktioner finns för att initiera en moduls tillstånd. De är avsedda för en moduls exekveringsplatser (Py_mod_exec
), initialiseringsfunktionen för äldre single-phase initialization, eller kod som skapar moduler dynamiskt.
-
int PyModule_AddObjectRef(PyObject *module, const char *name, PyObject *value)¶
- En del av Stabil ABI sedan version 3.10.
Lägg till ett objekt till modul som namn. Detta är en bekvämlighetsfunktion som kan användas från modulens initialiseringsfunktion.
Vid framgång, returnera
0
. Vid fel, skapa ett undantag och returnera-1
.Exempel på användning:
static int add_spam(PyObject *module, int value) { PyObject *obj = PyLong_FromLong(value); if (obj == NULL) { return -1; } int res = PyModule_AddObjectRef(module, "spam", obj); Py_DECREF(obj); return res; }
För att vara bekväm accepterar funktionen
NULL
värde med ett undantag. I detta fall returneras-1
och det undantag som skapats lämnas oförändrat.Exemplet kan också skrivas utan att uttryckligen kontrollera om obj är
NULL
:static int add_spam(PyObject *module, int value) { PyObject *obj = PyLong_FromLong(value); int res = PyModule_AddObjectRef(module, "spam", obj); Py_XDECREF(obj); return res; }
Observera att
Py_XDECREF()
bör användas i stället förPy_DECREF()
i detta fall, eftersom obj kan varaNULL
.Antalet olika name-strängar som skickas till denna funktion bör hållas litet, vanligtvis genom att endast använda statiskt allokerade strängar som name. För namn som inte är kända vid kompileringstillfället är det bättre att anropa
PyUnicode_FromString()
ochPyObject_SetAttr()
direkt. För mer detaljer, sePyUnicode_InternFromString()
, som kan användas internt för att skapa ett nyckelobjekt.Tillagd i version 3.10.
-
int PyModule_Add(PyObject *module, const char *name, PyObject *value)¶
- En del av Stabil ABI sedan version 3.13.
Liknar
PyModule_AddObjectRef()
, men ”stjäl” en referens till värde. Den kan anropas med ett resultat av en funktion som returnerar en ny referens utan att bry sig om att kontrollera resultatet eller ens spara det i en variabel.Exempel på användning:
if (PyModule_Add(module, "spam", PyBytes_FromString(value)) < 0) { gå till fel; }
Tillagd i version 3.13.
-
int PyModule_AddObject(PyObject *module, const char *name, PyObject *value)¶
- En del av Stabil ABI.
Liknar
PyModule_AddObjectRef()
, men stjäl en referens till värde vid framgång (om den returnerar0
).De nya funktionerna
PyModule_Add()
ellerPyModule_AddObjectRef()
rekommenderas, eftersom det är lätt att införa referensläckor genom att missbruka funktionenPyModule_AddObject()
.Anteckning
Till skillnad från andra funktioner som stjäl referenser, släpper
PyModule_AddObject()
bara referensen till värde vid framgång.Detta innebär att dess returvärde måste kontrolleras, och anropande kod måste
Py_XDECREF()
värde manuellt vid fel.Exempel på användning:
PyObject *obj = PyBytes_FromString(value); if (PyModule_AddObject(module, "spam", obj) < 0) { // If 'obj' is not NULL and PyModule_AddObject() failed, // 'obj' strong reference must be deleted with Py_XDECREF(). // If 'obj' is NULL, Py_XDECREF() does nothing. Py_XDECREF(obj); goto error; } // PyModule_AddObject() stole a reference to obj: // Py_XDECREF(obj) is not needed here.
Föråldrad sedan version 3.13:
PyModule_AddObject()
är soft deprecated.
-
int PyModule_AddIntConstant(PyObject *module, const char *name, long value)¶
- En del av Stabil ABI.
Lägg till en heltalskonstant till modul som namn. Denna bekvämlighetsfunktion kan användas från modulens initialiseringsfunktion. Returnerar
-1
med ett undantag inställt vid fel,0
vid framgång.Detta är en bekvämlighetsfunktion som anropar
PyLong_FromLong()
ochPyModule_AddObjectRef()
; se deras dokumentation för detaljer.
-
int PyModule_AddStringConstant(PyObject *module, const char *name, const char *value)¶
- En del av Stabil ABI.
Lägg till en strängkonstant till modul som namn. Denna bekvämlighetsfunktion kan användas från modulens initialiseringsfunktion. Strängen värde måste vara
NULL
-terminerad. Returnerar-1
med en undantagsuppsättning vid fel,0
vid framgång.Detta är en bekvämlighetsfunktion som anropar
PyUnicode_InternFromString()
ochPyModule_AddObjectRef()
; se deras dokumentation för detaljer.
-
PyModule_AddIntMacro(module, macro)¶
Lägg till en int-konstant i modul. Namnet och värdet hämtas från macro. Till exempel
PyModule_AddIntMacro(module, AF_INET)
lägger till int-konstanten AF_INET med värdet AF_INET till modul. Returnerar-1
med en undantagsuppsättning vid fel,0
vid framgång.
-
PyModule_AddStringMacro(module, macro)¶
Lägg till en strängkonstant i modul.
-
int PyModule_AddType(PyObject *module, PyTypeObject *type)¶
- En del av Stabil ABI sedan version 3.10.
Lägg till ett typobjekt till modul. Typobjektet färdigställs genom att internt anropa
PyType_Ready()
. Namnet på typobjektet hämtas från den sista komponenten itp_name
efter punkt. Returnerar-1
med en exception set vid fel,0
vid framgång.Tillagd i version 3.9.
-
int PyModule_AddFunctions(PyObject *module, PyMethodDef *functions)¶
- En del av Stabil ABI sedan version 3.7.
Lägg till funktionerna från den
NULL
avslutade functions-arrayen till module. SePyMethodDef
-dokumentationen för detaljer om enskilda poster (på grund av avsaknaden av ett delat modulnamnrum får ”funktioner” på modulnivå som implementeras i C vanligtvis modulen som sin första parameter, vilket gör att de liknar instansmetoder i Python-klasser).Denna funktion anropas automatiskt när en modul skapas från
PyModuleDef
(t.ex. när Initialisering i flera faser,PyModule_Create
ellerPyModule_FromDefAndSpec
används). Vissa modulförfattare kanske föredrar att definiera funktioner i fleraPyMethodDef
-arrayer; i så fall bör de anropa denna funktion direkt.Tillagd i version 3.5.
-
int PyModule_SetDocString(PyObject *module, const char *docstring)¶
- En del av Stabil ABI sedan version 3.7.
Ställ in docstring för modul till docstring. Denna funktion anropas automatiskt när du skapar en modul från
PyModuleDef
(t.ex. när du använder Initialisering i flera faser,PyModule_Create
, ellerPyModule_FromDefAndSpec
).Tillagd i version 3.5.
-
int PyUnstable_Module_SetGIL(PyObject *module, void *gil)¶
- Detta är Instabilt API. Den kan ändras utan förvarning i mindre versioner.
Ange att modul stöder eller inte stöder körning utan det globala tolklåset (GIL), med hjälp av ett av värdena från
Py_mod_gil
. Den måste anropas under modul:s initialiseringsfunktion när Legacy enfasig initialisering används. Om denna funktion inte anropas under modulinitialiseringen, antar importmaskineriet att modulen inte stöder körning utan GIL. Denna funktion är endast tillgänglig i Python-byggnader som konfigurerats med--disable-gil
. Returnerar-1
med en undantagsuppsättning vid fel,0
vid framgång.Tillagd i version 3.13.
Moduluppslagning (enfasig initialisering)¶
Det äldre initialiseringsschemat single-phase initialization skapar singleton-moduler som kan sökas upp i den aktuella tolkens kontext. Detta gör att modulobjektet kan hämtas senare med endast en referens till moduldefinitionen.
Dessa funktioner fungerar inte på moduler som skapats med hjälp av flerfasinitialisering, eftersom flera sådana moduler kan skapas från en enda definition.
-
PyObject *PyState_FindModule(PyModuleDef *def)¶
- Returnera värde: Lånad referens. En del av Stabil ABI.
Returnerar det modulobjekt som skapades från def för den aktuella tolken. Denna metod kräver att modulobjektet har kopplats till tolktillståndet med
PyState_AddModule()
i förväg. Om motsvarande modulobjekt inte hittas eller inte har kopplats till tolktillståndet ännu, returnerar denNULL
.
-
int PyState_AddModule(PyObject *module, PyModuleDef *def)¶
- En del av Stabil ABI sedan version 3.3.
Kopplar modulobjektet som skickas till funktionen till tolkens tillstånd. Detta gör att modulobjektet kan nås via
PyState_FindModule()
.Gäller endast för moduler som skapats med enfasinitialisering.
Python anropar automatiskt
PyState_AddModule
efter att ha importerat en modul som använder enfasinitialisering, så det är onödigt (men ofarligt) att anropa den från modulens initialiseringskod. Ett explicit anrop behövs endast om modulens egen init-kod därefter anroparPyState_FindModule
. Funktionen är huvudsakligen avsedd för att implementera alternativa importmekanismer (antingen genom att anropa den direkt eller genom att hänvisa till dess implementering för detaljer om nödvändiga tillståndsuppdateringar).Om en modul har bifogats tidigare med samma def, ersätts den av den nya modulen.
Den som anropar måste ha en attached thread state.
Returnerar
-1
med en exception set vid fel,0
vid framgång.Tillagd i version 3.3.
-
int PyState_RemoveModule(PyModuleDef *def)¶
- En del av Stabil ABI sedan version 3.3.
Tar bort modulobjektet som skapats från def från tolkens tillstånd. Returnerar
-1
med en undantagsuppsättning vid fel,0
vid framgång.Den som anropar måste ha en attached thread state.
Tillagd i version 3.3.