我目前正在移植一些用pypy运行到python 3的Python 2代码。我处理一些使用_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后,我没有看到直接替代它。移植此代码的最佳方法是什么?
答案 0 :(得分:2)
您可以使用ctypes:
def address_of_buffer(buf):
return ctypes.addressof(ctypes.c_char.from_buffer(buf))