我可以';清除';使用python复制/操作fits文件时的内存?
我正在处理大约300 x 200MB的fits文件,并试图编写一个代码,根据文件名将其复制到新目录中。下面是我的代码示例。我已将文件名写入blockarray中的列表(块)。然后我在每个块上循环并使用shutil复制fits文件 当我运行我的代码时,我的计算机一直在减速然后冻结。我环顾四周,找到了gc.collect(),但这似乎没有什么帮助。在复制每个文件后是否仍有清除内存的方法我可以';清除';使用python复制/操作fits文件时的内存?,python,memory,shutil,Python,Memory,Shutil,我正在处理大约300 x 200MB的fits文件,并试图编写一个代码,根据文件名将其复制到新目录中。下面是我的代码示例。我已将文件名写入blockarray中的列表(块)。然后我在每个块上循环并使用shutil复制fits文件 当我运行我的代码时,我的计算机一直在减速然后冻结。我环顾四周,找到了gc.collect(),但这似乎没有什么帮助。在复制每个文件后是否仍有清除内存的方法 for block in blockarray: for i in range(1,len(block))
for block in blockarray:
for i in range(1,len(block)):
old_path = current_path + num + '/' + block[i]
new_path = current_path + num + '_ex/' + block[0] + '/' + block[i]
if not os.path.exists(new_path):
shutil.copyfile(old_path, new_path)
print "%s copied" %(block[i])
我不确定这是否有帮助,但您可以尝试一下: 以下是其文档中的一个示例: 我们有三个大数据集,a.txt、b.txt和c.txt,但只有其中的两个 将立即进入内存。如果我们在内存中有a.txt和b.txt,但是 现在想使用b.txt和c.txt,我们可以开始了 加载c.txt,但我们的系统会从a.txt和c.txt中逐出页面 (我们想要)和b.txt(我们不想要) 因此,让我们给系统一个提示,并从内存中退出a.txt,使 c.txt的存储空间:
$ vmtouch -ve a.txt Evicting a.txt
Files: 1
Directories: 0 Evicted Pages: 42116 (164M)
Elapsed: 0.076824 seconds
p.S.Instagram,我就是这么知道的,但我自己还没有玩过