rpyc:root.getmodule("module_name") 和手动返回模块引用之间的区别?
rpyc: difference between root.getmodule("module_name") and manually returning a module reference?
我想使用只能在远程 rpyc 服务器上访问的 python 模块。以下两种访问远程机器模块的方式有区别吗:
""" 在客户端:"""
my_local_mod_ref = my_rpyc_connection.root.getmodule("remote_module_name")
my_local_mod_ref = my_rpyc_connection.root.a_func_returning_the_module_ref()
服务器端的 """: """
def exposed_a_func_returning_the_module_ref()
import my_remote_module_name
return my_remote_module_name
如果有区别,两种选择中哪一种更清洁或更可取?
下面是这个 getmodule
的实现:
def exposed_getmodule(self, name):
"""imports an arbitrary module"""
return __import__(name, None, None, "*")
如您所见,如果模块尚未加载到服务器中,则调用 getmodule
将其导入,并且(无论哪种方式)返回对象模块的 netref。
如果这与您 a_func_returning_the_module_ref()
的行为相符,则没有区别。
我猜 getmodule
是开箱即用的,非常有用,因此您不必为了实现此目标而明确定义它(或类似的东西) .
我想使用只能在远程 rpyc 服务器上访问的 python 模块。以下两种访问远程机器模块的方式有区别吗:
""" 在客户端:"""
my_local_mod_ref = my_rpyc_connection.root.getmodule("remote_module_name")
my_local_mod_ref = my_rpyc_connection.root.a_func_returning_the_module_ref()
服务器端的 """: """
def exposed_a_func_returning_the_module_ref()
import my_remote_module_name
return my_remote_module_name
如果有区别,两种选择中哪一种更清洁或更可取?
下面是这个 getmodule
的实现:
def exposed_getmodule(self, name):
"""imports an arbitrary module"""
return __import__(name, None, None, "*")
如您所见,如果模块尚未加载到服务器中,则调用 getmodule
将其导入,并且(无论哪种方式)返回对象模块的 netref。
如果这与您 a_func_returning_the_module_ref()
的行为相符,则没有区别。
我猜 getmodule
是开箱即用的,非常有用,因此您不必为了实现此目标而明确定义它(或类似的东西) .