Python 输入干扰 SimpleXMLRPCServer
Python input interfering with 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 的好处。
我不想用 编写一些方法——我有点喜欢我正在使用的简单 1:1 设置。
真的,我愿意接受任何替代 (python) 解决方案。
您正在使用 input()
where you ought to use raw_input()
。试试这个:
return raw_input("Allow? ").lower() in ['y', 'yes']
我有这样的服务器:
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 的好处。
我不想用
真的,我愿意接受任何替代 (python) 解决方案。
您正在使用 input()
where you ought to use raw_input()
。试试这个:
return raw_input("Allow? ").lower() in ['y', 'yes']