pyclbr
— Stöd för Python-modulbläddrare¶
Källkod: Lib/pyclbr.py
Modulen pyclbr
ger begränsad information om de funktioner, klasser och metoder som definieras i en Python-kodad modul. Informationen är tillräcklig för att implementera en modulbläddrare. Informationen hämtas från Python-källkoden i stället för genom att importera modulen, så den här modulen är säker att använda med opålitlig kod. Denna restriktion gör det omöjligt att använda denna modul med moduler som inte är implementerade i Python, inklusive alla standardmoduler och valfria tilläggsmoduler.
- pyclbr.readmodule(module, path=None)¶
Returnerar en ordbok som mappar klassnamn på modulnivå till klassdeskriptorer. Om möjligt inkluderas deskriptorer för importerade basklasser. Parameter module är en sträng med namnet på den modul som ska läsas; det kan vara namnet på en modul inom ett paket. Om path anges är det en sekvens av katalogsökvägar som föregås av
sys.path
, som används för att hitta modulens källkod.Denna funktion är det ursprungliga gränssnittet och behålls endast för bakåtkompatibilitet. Den returnerar en filtrerad version av följande.
- pyclbr.readmodule_ex(module, path=None)¶
Returnerar ett ordboksbaserat träd som innehåller en funktions- eller klassdeskriptor för varje funktion och klass som definieras i modulen med en
def
- ellerclass
-sats. Den returnerade ordlistan mappar funktions- och klassnamn på modulnivå till deras deskriptorer. Nestade objekt skrivs in i förälderns barnordbok. Precis som med readmodule namnger module den modul som ska läsas och path föregås av sys.path. Om modulen som läses är ett paket har den returnerade ordlistan en nyckel'__path__'
vars värde är en lista som innehåller sökvägen för paketet.
Tillagd i version 3.7: Deskriptorer för nästlade definitioner. De nås via det nya attributet children. Var och en har ett nytt parent-attribut.
De deskriptorer som returneras av dessa funktioner är instanser av klasserna Function och Class. Användare förväntas inte skapa instanser av dessa klasser.
Funktionsobjekt¶
- class pyclbr.Function¶
Class
Function
-instanser beskriver funktioner som definieras av def-satser. De har följande attribut:- file¶
Namn på den fil där funktionen definieras.
- module¶
Namnet på den modul som definierar den funktion som beskrivs.
- name¶
Namnet på funktionen.
- lineno¶
Radnumret i filen där definitionen börjar.
- parent¶
För funktioner på högsta nivån,
None
. För nästlade funktioner, den överordnade.Tillagd i version 3.7.
- children¶
En
dictionary
som mappar namn till deskriptorer för nästlade funktioner och klasser.Tillagd i version 3.7.
Klassobjekt¶
- class pyclbr.Class¶
Class
Class
-instanser beskriver klasser som definieras av class-satser. De har samma egenskaper somFunctions
och två till.- file¶
Namn på den fil där klassen definieras.
- module¶
Namnet på den modul som definierar den klass som beskrivs.
- name¶
Namnet på klassen.
- lineno¶
Radnumret i filen där definitionen börjar.
- parent¶
För klasser på högsta nivån,
None
. För nästlade klasser, den överordnade.Tillagd i version 3.7.
- children¶
En ordbok som mappar namn till deskriptorer för nästlade funktioner och klasser.
Tillagd i version 3.7.
- super¶
En lista med
Class
-objekt som beskriver de omedelbara basklasserna för den klass som beskrivs. Klasser som namnges som superklasser men som inte kan hittas medreadmodule_ex()
listas som en sträng med klassnamnet istället för somClass
-objekt.
- methods¶
En
dictionary
som mappar metodnamn till radnummer. Detta kan härledas från den nyarechildren
-ordlistan, men finns kvar för bakåtkompatibilitet.