Pythonのreadline踏み込み記録
2633 ワード
import readline
import os
def completer(text,state):
ds=os.listdir()
rs=list(filter(lambda s:s.startswith(text),ds))
if state<len(rs):
return rs[state]
return None
readline.parse_and_bind("tab: complete")
readline.set_completer(completer)
input()
state
は実はいくつかの選択肢のシーケンス番号です.readline
はあなたの関数を非常に高度にカプセル化していることを知っておく必要があります.そうすれば、input
で補完することができます.しかし、これはdebugにとって良いことではない.まず関数を呼び出して出力をチェックすると、関数のExceptionが正常に放出されます.# :
completer('foo',0)