Python输入干扰了SimpleXMLRPCServer

时间:2015-11-04 22:49:44

标签: 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

我的假设是在服务器端消耗input结果会破坏POST XML-RPC的优点。

我不想用two clients and a server编写某些方法 - 我有点像我要做的简单的1:1设置。

真的,我打开任何备用(python)解决方案。

1 个答案:

答案 0 :(得分:1)

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

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