数据拷贝Cython

2024-03-29 15:16:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.pyx文件,其中一个大文件正在被分块扫描。Ex-100MB数据被扫描成10个部分,每个部分10MB

当我这么做的时候,我有两个价值观 -文件的偏移量 -以及要扫描的数据的长度

我想将数据的每个部分复制到一个随机的Python空列表中。你知道吗

我是这样做的:

class abc
..
cdef object buff

def do_scan(self,...)
   ...
   self.buff = []
   ...
   buff.append(PyString_FromStringAndSize(<char *>offset,length))
   ...

   fh = open ("tmpf.bin","wb")
   cPickle.dump(buff,fh)
   fh.close()
   ...

...
Error:
NameError: PyString_FromStringAndSize is not defined

这并没有给我想要的输出。你知道吗

有人能帮我把数据复制到Python对象吗???你知道吗


Tags: 文件数据self列表分块classexbuff
1条回答
网友
1楼 · 发布于 2024-03-29 15:16:37

根据错误消息,您眼前的问题更清楚了:您没有告诉Cython关于PyString_FromStringAndSize。最简单的方法是从Cython提供的默认CPython包装器cimport执行此操作

# at the top of your pyx file
from cpython.string cimport PyString_FromStringAndSize

相关问题 更多 >