Zbudowałem prosty edytor tekstu z pewną dostępną funkcją do odczytu ekranu. Korzystam z Python dla .NET (pythonnet), aby wyświetlić formularz zawierający pole tekstowe. Po naciśnięciu klawisza tabulacji po kropce pojawia się menu kontekstowe z uzupełnieniami dla wybranego elementu. Ok, działa dobrze z obiektami Python, ale nie działa z obiektami żywymi .net, nie ma rozwiązania tego problemu. Teraz chcę zbudować obiekt TreeView ze wszystkimi nazwami i definicjami modułu, który edytuję.python jedi: jak odzyskać metody instancji?
Tak więc, na przykład I typ:
import sys
import os
lst = list()
etc ... Jeśli używam jedi.names mojego źródła, mogę odzyskać OS, SYS i LST. Dla każdej nazwy chcę pobrać definicje podrzędne, takie jak funkcje dla modułu sys i os oraz metody dla lst. nie mogę znaleźć sposób, aby to zrobić z Jedi:
names = jedi.names(MySource)
names[0].defined_names() # works for sys
names[1].defined_names() # works for os
names[2].defined_names() # doesn't work for lst instance of list().
sugestie? Próbowałem używać coraz więcej edytorów, ale obsługa dostępności jest bardzo zła ...
Co to jest obiekt "MySource"? – denfromufa
Nie spodziewałbyś się żadnych automatycznych uzupełnień dla 'import sys', To kompletna instrukcja. Jednak jeśli był "od sys import", to można oczekiwać niektórych opcji automatycznego uzupełniania. –
@denfromufa, myślę, że 'MySource' to tylko ciąg zawierający kod źródłowy pokazany w pierwszym bloku kodu. –