[英]Recursively unzipping a folder with ZipFile/Python
我正在尝试编写一个可以解压缩这样的脚本:
到目前为止我所拥有的:
from os import listdir
import os
from zipfile import ZipFile, is_zipfile
#Current Directory
mypath = '.'
def extractor(path):
for file in listdir(path):
if(is_zipfile(file)):
print(file)
with ZipFile(file,'r') as zipObj:
path = os.path.splitext(file)[0]
zipObj.extractall(path)
extractor(path)
extractor(mypath)
我可以解压缩曾祖父,当我以祖父为路径再次调用提取器时。 它不会进入 if 语句。 尽管如此,我可以列出祖父的内容。
用这两行替换extractor(path)
:
os.chdir(path)
extractor('.')
所以你的代码变成:
from os import listdir
import os
from zipfile import ZipFile, is_zipfile
#Current Directory
mypath = '.'
def extractor(path):
for file in listdir(path):
if(is_zipfile(file)):
print(file)
with ZipFile(file,'r') as zipObj:
path = os.path.splitext(file)[0]
zipObj.extractall(path)
os.chdir(path)
extractor('.')
extractor(mypath)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.