黑帽联盟
标题:
python raw_input中使用tab键补全命令
[打印本页]
作者:
定位
时间:
2018-2-8 16:11
标题:
python raw_input中使用tab键补全命令
用 readline, 以下是一个简单的例子
import readline
CMD = ['foo1', 'foo2', 'bar1', 'bar2', 'exit']
def completer(text, state):
options = [cmd for cmd in CMD if cmd.startswith(text)]
if state < len(options):
return options[state]
else:
return None
readline.parse_and_bind("tab: complete")
readline.set_completer(completer)
while True:
cmd = raw_input('==> ')
if cmd=='exit':
break
print(cmd)
复制代码
测试:
==> <TAB><TAB>
bar1 bar2 exit foo1 foo2
==> b<TAB>
==> bar
==> bar<TAB><TAB>
bar1 bar2
==> bar1
bar1
==> exit
复制代码
欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/)
Powered by Discuz! X2.5