首页 > 解决方案 > Python,在多个目录中一个一个删除文件

问题描述

我面临一个简单的问题,但无法解决这个问题。我需要删除数百万个目录中的数百万个文件。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->FOLDER->FOLDER2->FOLDER3 TEST2 TEST3

标签: pythonfiledirectoryoperating-system

解决方案


由于您的需求与 python 无关,您可以考虑尝试此处描述的一些技术:

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


推荐阅读