移植 Python 2 使用 _multiprocessing 的代码
Porting Python 2 code that uses _multiprocessing
我目前正在将一些 Python 2 代码移植到 运行 和 pypy 到 python 3。我有点难以处理一些使用的代码_multiprocessing
因为很难找到这方面的文档。
from _multiprocessing import address_of_buffer
#example usage
def buffer_info(self):
return address_of_buffer(self._mmap)[0], self._size
当我尝试将此代码用于 Python3.4 时,我遇到了导入问题:
ImportError: cannot import name 'address_of_buffer'
在快速浏览了 Python 3 个文档后 https://docs.python.org/3/library/multiprocessing.html 我没有看到它的直接替代品。移植此代码的最佳方式是什么?
你可以使用 ctypes:
def address_of_buffer(buf):
return ctypes.addressof(ctypes.c_char.from_buffer(buf))
我目前正在将一些 Python 2 代码移植到 运行 和 pypy 到 python 3。我有点难以处理一些使用的代码_multiprocessing
因为很难找到这方面的文档。
from _multiprocessing import address_of_buffer
#example usage
def buffer_info(self):
return address_of_buffer(self._mmap)[0], self._size
当我尝试将此代码用于 Python3.4 时,我遇到了导入问题:
ImportError: cannot import name 'address_of_buffer'
在快速浏览了 Python 3 个文档后 https://docs.python.org/3/library/multiprocessing.html 我没有看到它的直接替代品。移植此代码的最佳方式是什么?
你可以使用 ctypes:
def address_of_buffer(buf):
return ctypes.addressof(ctypes.c_char.from_buffer(buf))