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

标签 python python-3.x

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

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

import os

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

非常感谢!

最佳答案

在迭代 os.walk 生成器时,您应该使用 dirpathfilenames 变量:

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))

关于python - 在python中解压每个文件夹和子文件夹中的所有.bz2文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52586887/

相关文章:

python - 为什么这段代码中 Python 和 Node.js 的 HMAC 结果不同?

python - 如何安装 Python 3.6 和 Python 2.7?

python - 如何从 Python 中的字符串中删除空行?

python - decimal.InvalidOperation,除法对于非常大的数字来说是不可能的

python - 有没有办法在多线程中使用 asyncio.Queue?

python - 在 Powershell 下运行 Python 脚本

python - Vim Flake8 忽略项目配置文件

python - Tensorflow CNN 图像增强管道

python - DRF - PrimaryKeyRelatedField 中的过滤查询集

python - CsvItemExporter 的 Scrapy 自定义 CSV header