解压缩python中每个文件夹和子文件夹中的所有.bz2文件

时间:2018-10-01 08:05:18

标签: python python-3.x

我有下面的代码,该代码从目录开始,并假设要进入每个文件夹,打开cmd并执行下面的语句。

我可以看到它进入了每个目录,但cmd屏幕闪烁,但未提取任何内容。我在做错什么吗?

import os

for dirpath, dirnames, filenames in os.walk('.', topdown = True):
    os.system('7z e *.bz2')
    print(dirpath)

非常感谢!

1 个答案:

答案 0 :(得分:2)

在遍历dirpath生成器时,应使用filenamesos.walk变量:

import os
for dirpath, _, filenames in os.walk('.', topdown = True):
    for filename in filenames:
        if filename.endswith('.bz2'):
            os.chdir(dirpath)
            os.system('7z e ' + os.path.join(dirpath, filename))