1

我阅读了所有与“readline”模块相关的文章,但没有人能回答我的问题。我正在尝试在我的脚本中实现自动完成,这是一个 Web 服务器(使用 BaseHTTPRequestHandler 作为我的请求处理程序),它在其中接收作为原始输入数据(来自列表)并将其发送给我的客户端。

有什么帮助吗?

编辑(添加代码):

from BaseHTTPServer import BaseHTTPRequestHandler
from BaseHTTPServer import HTTPServer
import urlparse
import re
import os
import base64
import httplib
import socket
from time import gmtime, strftime
import sys
from clint.textui import colored
import  subprocess
try:
    import readline
except:
    import pyreadline as readline



DICT = ['pig','cow','bird']

def complete(text, state):

    for animal in DICT:
        if animal.startswith(text):
            if not state:
                return amimal
            else:
                state -= 1

class RequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        readline.parse_and_bind("tab: complete")
        readline.set_completer(complete)
        message = raw_input(">>")
        self.send_response(200)
        self.end_headers()
        self.wfile.write(message)
        return

    def do_POST(self):
        # Not relevant



if __name__ == '__main__':
    server = HTTPServer(('', 8090), RequestHandler)
    try:
        server.serve_forever()
    except KeyboardInterrupt: 
        sys.exit(0)
4

0 回答 0