Python, удаление файлов по одному в нескольких каталогах - PullRequest
0 голосов
/ 06 сентября 2018

Я столкнулся с простой проблемой, но не могу обойти ее. У меня миллионы миллионов файлов в миллионах каталогов, которые мне нужно удалить. Windows не может с этим справиться, так как она разрушает еще до того, как начинает удалять. Пробует скрипт Linux, но это не сработало.

Я решил написать свою собственную программу для этого. Идея проста:

Проверьте, есть ли папка в корневом пути, если она есть, зайдите в нее, проверьте, есть ли папка, войдите в нее и, пока нет папок, затем удалите все файлы в этой папке, затем удалите эту папку. и начните снова, пока корневой каталог не станет пустым.

Я начал пытаться использовать библиотеку ОС. Пока я получил:

import os
rootdir = 'D:/TEST/'
global current_dir
current_dir = rootdir
global dir_counter
dir_counter=0
while (os.listdir(rootdir)[1]):
    print(current_dir)
    if(os.listdir(current_dir)[1]):
        if (os.path.isdir(os.path.join(current_dir,os.listdir(current_dir)[dir_counter+1]))):
            current_dir  = os.path.join(current_dir,os.listdir(current_dir)[dir_counter+1])
            dir_counter = dir_counter+1

Я пытался просто проверить, идет ли он до конца в каталогах, но, к сожалению, он проходит только один уровень и остается там.

Структура моей папки TEST1-> папке-> FOLDER2-> folder3 TEST2 TEST3

1 Ответ

0 голосов
/ 06 сентября 2018

Поскольку ваши потребности на самом деле не связаны с питоном, вы можете попробовать некоторые из методов, описанных здесь:

https://superuser.com/questions/741945/delete-all-files-from-a-folder-and-its-sub-folders?answertab=votes#tab-top

...