我有下面的代码,该代码从目录开始,并假设要进入每个文件夹,打开cmd并执行下面的语句。
我可以看到它进入了每个目录,但cmd屏幕闪烁,但未提取任何内容。我在做错什么吗?
import os
for dirpath, dirnames, filenames in os.walk('.', topdown = True):
os.system('7z e *.bz2')
print(dirpath)
非常感谢!
答案 0 :(得分:2)
在遍历dirpath
生成器时,应使用filenames
和os.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))