Я работаю с файлами размером ~ 300 x 200 МБ и пытаюсь написать код, который копирует их в новые каталоги на основе их имени файла. Ниже приведен пример моего кода. Я записал свои имена файлов в списки (блоки) в массиве блоков. Затем я перебираю каждый блок и использую Shutil, чтобы скопировать файл fits.
Мой компьютер продолжает замедляться, а затем зависает, когда я запускаю свой код. Я осмотрелся и нашел gc.collect(), но это, похоже, не помогает. Можно ли как-нибудь очистить память после копирования каждого файла?
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])