当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python multiprocessing.managers.BaseProxy._callmethod用法及代码示例


用法:

_callmethod(methodname[, args[, kwds]])

调用并返回代理所指方法的结果。

如果proxy 是一个代理,其所指对象是obj,则表达式

proxy._callmethod(methodname, args, kwds)

将评估表达式

getattr(obj, methodname)(*args, **kwds)

在经理的过程中。

返回的值将是调用结果的副本或新共享对象的代理 - 请参阅 BaseManager.register()method_to_typeid 参数的文档。

如果调用引发异常,则由 _callmethod() 重新引发异常。如果在管理器的进程中引发了其他一些异常,那么这将转换为 RemoteError 异常并由 _callmethod() 引发。

请特别注意,如果 methodname 不是 exposed ,则会引发异常。

_callmethod() 的用法示例:

>>> l = manager.list(range(10))
>>> l._callmethod('__len__')
10
>>> l._callmethod('__getitem__', (slice(2, 7),)) # equivalent to l[2:7]
[2, 3, 4, 5, 6]
>>> l._callmethod('__getitem__', (20,))          # equivalent to l[20]
Traceback (most recent call last):
...
IndexError: list index out of range

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 multiprocessing.managers.BaseProxy._callmethod。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。