我使用os.walk()将文件列表发送到DataFrame。现在,我想从DataFrame中的文件列表中提取压缩文件夹。
DataFrame
file_name base_name extension absolute_path rel_path
file_1.pdf file_1 pdf C:\\temp\documents\file_1.pdf \file_1.pdf
file_2.zip file_2 zip C:\\temp\documents\file_2.zip \file_2.zip
file_3.7z file_3 7z C:\\temp\documents\file_3.7z \file_3.7z
file_4.tar file_4 tar C:\\temp\documents\file_4.tar \file_4.tar注意:不能更改提取所用的包。只有shutil包裹。
发布于 2019-11-08 13:53:06
打开压缩文件夹的替代方法是ZiFile。您必须使用pip安装或任何其他安装程序(例如conda)安装库。
导入列表是用于代码的
import os
import fnmatch
from zipfile import ZipFile新代码:
dirPath = 'C:\\temp' #Windows format
formats = ['*.zip','*.tar','*.7z']
for f in formats:
for file in os.listdir(dirPath):
if fnmatch.fnmatch(file,f):
os.chdir(dirPath) #change where to open zipFile
with ZipFile(file,'r') as zfiles:
flist = zfiles.namelist()
for zipped in flist:
zfiles.extract(zipped,dirPath) 如果要提取到不同的dir,请更改行中的变量dirPath:
zfiles.extract(zipped,dirPath)https://stackoverflow.com/questions/58766342
复制相似问题