为什么raw_input没有正确提示?

时间:2014-12-15 03:22:34

标签: python networking tcp twisted kademlia

我正在尝试使用此处提供的kademlia库: https://github.com/bmuller/kademlia 我的代码如下:

from twisted.internet import reactor
from twisted.python import log
from kademlia.network import Server
import sys

log.startLogging(sys.stdout)

def done(result):
        reactor.stop()
        print "Key result:", result

def get(result, server):
        key = raw_input("Key:")
        server.get(key).addCallback(done)

def set(found, server):
        key = raw_input("Key:")
        message = raw_input("Message:")
        server.set(key, message).addCallback(get, server)

server = Server()
server.listen(8468)
server.bootstrap([("xxx.xxx.xxx.xxx", 8468)]).addCallback(set, server)

reactor.run()

正确接受输入并对该输入进行操作。但是,而不是输入提示正确显示。例如KEY:或MESSAGE:我只是得到一个空行。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

日志记录正在干扰流程的标准输出。

尝试删除行log.startLogging(sys.stdout),您会发现raw_input()会显示提示。