python - 遍历目录并删除基于 Python 扩展名的文件

标签 python

我有一个模拟以下内容的文件结构: enter image description here

我一直有一个文件夹,那个文件夹里有一个EXCEL文件夹和一堆文本文件。每个 EXCEL 文件夹都有一堆 .xlsx 文件。

按照相同的结构,可以将相同的想法无限次地复制。我正在尝试进入每个目录的每个 EXCEL 文件夹,删除所有扩展名为 .xlsx 的文件并继续此过程,直到访问所有 EXCEL 文件夹。

这是我失败的一些代码:

def clean_out_excel_test_data():
    #For each folder in the test_log directory
        #Open each folder
            #for each_folder that contains the word EXCEL
                #open each_folder
                    #for each file in each_folder, remove it

    log_directory = "test_log_data/"

    for each_folder in sorted(os.listdir(log_directory)):
        print each_folder + ' is in the root'
        for each_folder2 in sorted(os.listdir('%s/%s'%(log_directory,each_folder))) if os.path.isdir(each_folder2):
            print '\t-' + each_folder2 + ' is a sub-folder'
            for each_excel_file in sorted(os.listdir('%s/%s/%s'%(log_directory,each_folder, each_folder2))):
                print '\t\t-' + each_excel_file + ' is a sub excel file'

我意识到我的代码很垃圾,但我想至少展示我的目标。

最佳答案

os.walk为您处理目录遍历:

for root, dirs, files in os.walk('/path/to/test_log_data'):
    if 'EXCEL' not in root:
        continue
    for fname in files:
        if fname.endswith('.xlsx'):
            os.remove(os.path.join(root, fname))

关于python - 遍历目录并删除基于 Python 扩展名的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31275702/

相关文章:

python - 有效地按元素比较numpy数组与自身

python - 如何从列表中删除每次出现的子列表

python - 在使用 python 脚本导入 postgres 之前,如何在 csv 文件中划分单元格?

python - 来自嵌套元组的 Pandas Dataframe

用于对 ls -l 输出中的值求和的 Python 脚本

python - Makefile 在 Python3 中找不到模块

python - pytest - 在执行期间更改 Jupyter 笔记本单元格中的变量值

javascript - 日期选择器未定义 - jQuery

请求进入后,Python 服务器不会按 Ctrl+C 终止

python - 使用 Elixir 有什么好处