我正在编写一些Python代码,用于在各个点拼接大型文件。我曾经在C中做过类似的事情,我分配了一个1MB的字符数组,并将其用作读/写缓冲区。这非常简单:将1MB读入字符数组,然后将其写出。
但是在Python中,我认为它是不同的,每次调用size = 1M的read()函数,它都会分配一个1M长的字符字符串。希望当缓冲区超出范围时,它将在下一次垃圾回收通行证中被释放。
Python会以这种方式处理分配吗?如果是这样,那么常数分配/释放循环是否会计算机昂贵?
我能告诉Python像在C中那样使用相同的内存块吗?还是Python虚拟机足够智能以自行处理?
我想我最终的目标实际上有点像在Python中实现dd。