【问题标题】:Why does raw_input not prompt correctly?为什么 raw_input 提示不正确?
【发布时间】:2014-12-15 03:22:34
【问题描述】:

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

我在这里做错了什么?

【问题讨论】:

  • 你应该改变那个 key 输入。只要让它们像 keykeya 一样不同

标签: python networking tcp twisted kademlia


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    相关资源
    最近更新 更多