【如何在Python 2.7中使用临时变量 – 内存】教程文章相关的互联网学习教程文章

c# – Web应用程序中IronPython内存泄漏的问题【代码】

有没有人成功地让IronPython在Web环境中无问题地运行?我遇到了一些问题. 第一个问题,我实际上并没有运行任何特定于IronPython的脚本,我正在实现Pygments库,因此我可以获得服务器端语法突出显示.该库大约有20个文件. 除了最新的IronPython版本无法将脚本编译成DLL(由于this issue)之外,我确实通过将所有文件和依赖项复制到我的bin文件夹来成功运行. 问题是,我去看看我的w3wp.exe进程在进行突出显示时是如何做的,并注意到一些showst...

Python tkinter .pack / .pack_forget内存问题【代码】

我几个月来一直在教自己Python,并开始学习一些GUI技术. 我根据我在书中找到的pack_remove示例编写了这个简单的脚本.我的脚本每秒只显示本地和UTC时间.当然唯一的区别是小时,我仍然希望每秒重新显示一次. 该脚本有效,但每次显示时我的RAM都在不断增加.我开始时大约4mb然后2小时后脚本使用25mb.这对我来说是有意义的,但我很好奇是否有一种方法每秒显示新的时间,但减少这种简单时钟显示的内存使用. 或者我使用效率低下的技术以高频率在...

在长时间运行的Python进程中迭代大型数据集 – 内存问题?

我正在研究一个长期运行的Python程序(其中一部分是Flask API,另一部分是实时数据获取程序). 我的长时间运行过程经常(大多数情况下,API可能每秒数百次)迭代大数据集(第二次观察某些经济系列,例如1-5MB的数据甚至更多).它们还在系列之间进行插值,比较和计算等. 为了保持我的进程存活,我可以在迭代/传递参数/处理这些大数据集时练习什么技术?例如,我应该使用gc模块并手动收集吗? UPDATE 我原来是一名C/C++开发人员,在C中编写部件没有...

在Ubuntu12.04中使用Python3进行lxml内存泄漏【代码】

我刚刚在Ubuntu12.04 pc中使用easy_install安装了lxml,并安装了Python 3.2.3.lxml是3.0Alpha的最新版本. 我尝试了以下代码:import lxml.htmldef proc_tweet(ss):html=lxml.html.fragment_fromstring(ss)ps=html.xpath("//p[@node-type='feed_list_content']")def test():ss=''f=open('test')for l in f: ss+=l.strip()f.close()while True: proc_tweet(ss)if __name__=='__main__':test()这里,’test’是一个文件,包含一个简短的H...

Python-C界面中的内存泄漏?【代码】

我有一段带有python-C接口的C代码,需要以python列表作为输入重复调用.我发现即使是虚拟过程也会导致内存泄漏: 在python中:a = [1.0]*1000 for c in range(1000):dummy(a, 1)在C:static PyObject* dummy(PyObject* self, PyObject* args) {Py_RETURN_NONE; }我在这里错过了什么,所以它引入了内存泄漏?解决方法:没有那么好,你传递给你的c方法的对象只是借来的,即你不必在返回之前减少对象的引用计数(事实上这将是一个糟糕的坏错误...

python – Numpy内存映射数组赋值的内存问题【代码】

在以下代码中:@profile def do():import randomimport numpy as npimage = np.memmap('image.np', mode='w+', dtype=np.float32, shape=(10000, 10000))print("Before assignment")x = random.uniform(1000, 9000)y = random.uniform(1000, 9000)imin = int(x) - 128imax = int(x) + 128jmin = int(y) - 128jmax = int(y) + 128data = np.random.random((256,256))image[imin:imax, jmin:jmax] = image[imin:imax, jmin:jmax] + d...

python – 具有有限内存的kmeans聚类【代码】

我正在App Engine上开发一个应用程序,并且正在使用SciPy的kmeans2. 群集运行时,我收到此错误: 服务1个请求后,超出159.852 MB的软私有内存限制 这是我正在做的,color_data将是大约500万x,y,z点:def _cluster(color_data, k):""" Clusters colors and return top k Arguments:----------color_dataTYPE: listDESC: The pixel rgb values to clusterkTYPE: intDESC: number of clusters to find in the colorsReturns:--------sorte...

python – 关于内存效率:范围vs xrange,zip vs izip【代码】

我正在阅读以下主题:Make dictionary from list with python 最初的问题是将元组(1,’a’,2,’b’,3,’c’)转换为字典{1:’a’,2:’b’,3:’c’}.给出了许多有趣的解决方案,包括以下两个: 解决方案1:dict(x[i:i+2] for i in range(0, len(x), 2))解决方案2:dict(zip(*[iter(val_)] * 2))在解决方案1中,为什么还要创建具有范围的实际列表呢? xrange(0,len(x),2)不会更有内存效率吗?解决方案2的相同问题:zip创建一个实际列...

python – 从pandas数据帧中选择时的内存优化【代码】

我有一个相当大的pandas数据帧(1.7G),我从中选择一些列进行一些计算(找到三个选定列的最大值).看来这个操作是内存密集型的.我试图找到一种方法来避免这种内存开销. 出于这个问题的目的,我简化了数据框并使用了假数据.我的代码和内存占用量如下所示,from memory_profiler import profile import pandas as pnd import random@profile def main():cols = [chr(i) for i in range(65,91)]d = {}n = 1000000for c in cols:d[c] = [rand...

Python – 从函数内部删除(从内存中删除)变量?【代码】

我必须加载我需要传递给函数的这个大型对象A(可以加权almsot 10go),它从中提取一个参数B以进一步对它施加一些繁重的计算.A = load(file)def function(A): B = transorm(A) B = compute(B)return(B)为了释放一些内存(因为我已经有了一个MemoryError),我想在转换为B后立即从内存中删除A.我尝试了del但它似乎并没有影响脚本级别的A的存在.我也尝试了del global()[“A”],但它说A没有被定义为全局变量. 有办法吗?谢谢!解决方法...

python – PyPDF2:在内存中连接pdfs【代码】

我希望在纯python中将一堆小pdf有效地连接在内存中.具体来说,通常的情况是500个单页pdf,每个都有大约400 kB的大小,要合并为一个.假设pdf在内存中可用作迭代,比如列表:my_pdfs = [pdf1_fileobj, pdf2_fileobj, ..., pdfn_fileobj] # type is BytesIO每个pdf_fileobj的类型为BytesIO.然后,基本内存使用量约为200 MB(500 pdf,每个400kB). 理想情况下,我希望以下代码连接使用总共不超过400-500 MB的内存(包括my_pdfs).但是,情况似乎并...

python – 在列表中存储文件使用10x内存作为文件大小【代码】

我有一个ASCII文件,本质上是一个16位有符号整数的网格;磁盘上的文件大小约为300MB.我不需要将文件读入内存,但确实需要将其内容存储为单个容器(容器),因此对于内存使用的初始测试,我尝试使用list和tuples作为内部容器,外部容器始终作为列表通过列表理解:with open(file, 'r') as f:for _ in range(6):t = next(f) # skipping some header lines# Method 1grid = [line.strip().split() for line in f] # produces a 3.3GB containe...

如何在python和C/C++中使用共享内存

我试图修改一个python程序,以便能够使用共享内存与C程序进行通信. python程序的主要职责是从位于共享内存中的输入队列中读取一些视频帧,对视频帧执行某些操作并将其写回共享内存中的输出队列. 我相信我需要做的事情很少,如果有人能够对它有所了解,那就太棒了: >共享内存:在C/C++中,您可以使用shmget和shmat等函数来获取指向共享内存的指针.在python中处理这个的等价方法是什么,所以python和C程序都可以使用相同的共享内存?>同步...

python – 你能用Cython创建一个PIL图像而不用冗余复制内存吗?【代码】

我正在使用Cython从USB摄像头抓取图像并将其转换为返回给调用者的PIL图像. 图像的数据位于由图像抓取功能返回的结构的“convert_buffer”成员指向的字符数组中:struct FlyCaptureImage:/// stuffchar * convert_buffer/// more stuff现在,我这样做把它变成PIL图像:cdef unsigned char *convert_buffer cdef Py_ssize_t byte_length cdef bytes py_string// get the number of bytes into a Py_ssize_t type byte_length = count/...

内存泄漏/ Python windows 7截图【代码】

我在双监视器系统(Windows7)上尝试了以下Python代码,以反复保存屏幕截图.它产生33个14.6MB(总共482MB)的镜头然后崩溃.使用Process Explorer检查我可以看到已用内存量增加到大约500MB. 我的问题是如何阻止内存泄漏?import win32gui, win32ui, win32con, win32api import time import osdef my_capture(file_name):hwin = win32gui.GetDesktopWindow()width = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)height = win3...