0

我正在运行一个需要大量内存的脚本...我可以reset用来清除所有变量,以便第二次运行时清除内存...但是我的问题是如何reset在每次运行后循环输入它它会自行清除内存。

谢谢赞赏

4

3 回答 3

1

如果您有一个需要大量内存的脚本,我建议您在一个单独的进程中运行它(它会自动清理)。您可以通过以下方式执行此操作:

  • 使用其他一些脚本来启动工作人员(例如bash
  • 使用 python进程启动工作进程
于 2012-08-27T13:32:47.253 回答
0

Python 解释器利用垃圾收集来释放未使用对象的内存。通常,此过程不需要任何手动更正。但是,您可以在使用gc模块安排的时间之前收集垃圾。http://docs.python.org/library/gc.html

这将为您的脚本释放一些内存。

于 2012-08-27T14:18:38.090 回答
0

如果您遇到MemoryError异常,您可能会考虑重写脚本以写入数据库或文件,而不是将所有数据保存在内存中。一些不错的选择是MySQLRedisMongo,等等。

当然,如果您可以在代码中找到内存使用效率低下或不必要的地方,也可以完全避免所有这些数据库内容。如果您发布您的代码,我相信人们会很乐意看一看!

例如,如果您有大型列表推导式,其中包含大量数据,一次处理一项,您可能可以通过切换到生成器表达式来节省相当多的内存。

于 2012-08-27T13:28:25.433 回答