我有一个这样的服务器:
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/