1

コマンドラインでオブジェクトをツリーに公開することから、pythonプログラムに非常に多くのユーティリティが得られます。例えば:

myprog.py  obj1.obj2.method

obj1.obj2.method() を実行してみましょう。

myprog.py  obj1.<TAB>
myprog.py  obj1.obj2<TAB>

利用可能なものを見てみましょう。素晴らしい!しかし、ジェダイにオートコンプリートの結果リスト (または辞書) を返すよう説得することはできません。私はこれが短いリストでうまくいくかもしれない何かハッキーなことを望んでいました:

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()
4

1 に答える 1