1

我正在尝试使用此处提供的 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: 我只是得到一个空行。

我在这里做错了什么?

4

1 回答 1

2

日志记录干扰了进程的标准输出。

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

于 2014-12-15T04:03:23.210 回答