我定义一个pythonxmlrpc
服务器如下(仅用于解释的近似示例):
from SimpleXMLRPCServer import SimpleXMLRPCServer
server = SimpleXMLRPCServer(('localhost', 8000))
server.register_function(foo, "serial.send")
server.serve_forever()
然后我可以使用xmlrpc
如下客户端
import xmlrpclib
device = xmlrpclib.ServerProxy("http://localhost:8000/RPC2")
device.serial.send(...)
在这里我可以检查是否device
是xmlrpclib.ServerProxy
with的一个实例
isinstance(device, xmlrpclib.ServerProxy)
但什么是device.serial
?我想检查它device.serial
属于一个xmlrpc
,而不是,例如,serial
或socket
其他东西。
这是我要检查的具体示例:
def foo(x):
if isinstance(x, ...):
print("xmlrpc access")
else:
print("direct access")
foo(device.serial) # expected output: 'xmlrpc access'
foo(serial.Serial(..)) # expected output: 'direct access'
foo(socket.Socket(...)) # expected outcome: 'direct access'