當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。