Python 能说服绝地武士自动完成名单吗?
在python程序的命令行中将对象暴露到树中,我得到了大量的实用程序。例如:Python 能说服绝地武士自动完成名单吗?,python,jedi,python-jedi,Python,Jedi,Python Jedi,在python程序的命令行中将对象暴露到树中,我得到了大量的实用程序。例如: myprog.py obj1.obj2.method 让我执行obj1.obj2.method(),然后 如果有的话,这应该是可行的: >>> script = jedi.Interpreter(prefix, [{"x": x}]) >>> script.completions() 然而,此时它返回一个空列表。我认为应该在绝地问题追踪器中增加一个问题,因为这是绝对可以做到的
myprog.py obj1.obj2.method
让我执行obj1.obj2.method(),然后
如果有的话,这应该是可行的:
>>> script = jedi.Interpreter(prefix, [{"x": x}])
>>> script.completions()
然而,此时它返回一个空列表。我认为应该在绝地问题追踪器中增加一个问题,因为这是绝对可以做到的
如果我没记错绝地密码,绝地在某些情况下(如类查找)会尝试不调用getattr
,但这很容易改变,因为:
getattr
,比如x.y
getattr
class X:
pass
x = X()
x2 = X()
x2.y = 456
x.z = [x2]
# Want to get x.z[0].y in the results
prefix = "x.z[0]."
import jedi
# Tell jedi about list elements?
script = jedi.Interpreter(prefix, [{"x.z[0].z": x.z[0].z}])
for c in script.completions():
print c
sys.exit()
>>> script = jedi.Interpreter(prefix, [{"x": x}])
>>> script.completions()