Python 输入干扰 SimpleXMLRPCServer

标签 python simplexmlrpcserver

我有一个这样的服务器:

from SimpleXMLRPCServer import SimpleXMLRPCServer
def ack(msg):
    return input("Allow? ").lower() in ['y', 'yes']
server = SimpleXMLRPCServer(("localhost", 8080))
server.register_function(ack, "ack")
server.serve_forever()

还有一个这样的客户:

import xmlrpclib
proxy = xmlrpclib.ServerProxy("http://localhost:8080")

with open(myfile) as mfd:
    for line in mfd.readlines():
        if proxy.ack(line):
            print line

这会导致向客户端发送错误。故障代码及字符串为:

1
<type 'exceptions.NameError'>:name 'y' is not defined

我的假设是服务器端的输入消耗正在扼杀 POST XML-RPC 的优点。

我不想用 two clients and a server 编写一些方法—我有点喜欢我所采用的简单的 1:1 设置。

真的,我愿意接受任何替代(python)解决方案。

最佳答案

您正在使用input()你应该在哪里使用 raw_input() 。试试这个:

return raw_input("Allow? ").lower() in ['y', 'yes']

关于Python 输入干扰 SimpleXMLRPCServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33533578/

相关文章:

python - 使用 Python SimpleXMLRPCServer 的无效 Unicode/XML?

python - 数组怎么能是指数呢?

python - 如何从 Django 查询集中检索值?

python - 如何使用 OOP 将小部件放置到 Tkinter 中的不同框架中

python - 如何在 python 中搜索字符串中出现的任何子字符串(包括部分匹配)?

python - 如何有条件地计算累计值?

python - 将任意代码注入(inject) Python SimpleXMLRPC 服务器

Python SimpleXMLRPCServer : Socket Error , 连接被拒绝