Я построил простой текстовый редактор с некоторой возможностью доступа для программного обеспечения для чтения экрана. Я использую Python для .NET (pythonnet), чтобы показать форму, содержащую богатое текстовое поле. Когда пользователь нажимает вкладку после периода, она всплывает контекстное меню с пополнениями для выбранного элемента. Хорошо, он отлично работает с объектами Python, но он не работает с .net-живыми объектами, нет решения этой проблемы. Теперь я хочу создать объект TreeView со всеми именами и определениями модуля, который я редактирую.python jedi: как получить методы экземпляров?
Так, например, я типа:
import sys
import os
lst = list()
и т.д ... Если я использую jedi.names моего источника, я могу восстановить ОС, SYS и LST. Для каждого имени я хочу получить вспомогательные определения, такие как функции для sys и os module, а также методы для lst. я не могу найти способ сделать это с джедая:
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().
Есть предложения? Я пытался использовать все больше и больше редакторов, но поддержка людей с ограниченными возможностями очень очень плохо ...
Что такое объект 'MySource'? – denfromufa
Вы не ожидаете увидеть какие-либо автозавершения для 'import sys', это полный оператор. Однако, если это было «от sys import», тогда вы ожидаете некоторые автоматические полные параметры. –
@denfromufa, я думаю, 'MySource' - это просто строка, содержащая исходный код, показанный в первом блоке кода. –