import zipfile
import os
#压缩单个文件
import zipfileimport
oswith zipfile.ZipFile('test.zip', 'w') as z:
z.write('log.txt')
#压缩某个目录下所有文件
def compress_file(zipfilename, dirname): # zipfilename是压缩包名字,dirname是要打包的目录/文件
if os.path.isfile(dirname):
with zipfile.ZipFile(zipfilename, 'w') as z:
z.write(dirname)
else:
with zipfile.ZipFile(zipfilename, 'w') as z:
for root, dirs, files in os.walk(dirname): #这里用到了os.walk遍历目录下的文件,详情参考os的walk方法
for single_file in files:
if single_file != zipfilename:
filepath = os.path.join(root, single_file)
z.write(filepath)
compress_file('a.zip', '.') #执行函数
#添加文件到已有的zip包中
def addfile(zipfilename, dirname):
if os.path.isfile(dirname):
with zipfile.ZipFile(zipfilename, 'a') as z:
z.write(dirname)
else:
with zipfile.ZipFile(zipfilename, 'a') as z:
for root, dirs, files in os.walk(dirname):
for single_file in files:
if single_file != zipfilename:
filepath = os.path.join(root, single_file)
z.write(filepath)
addfile('a.zip', 'test.txt')
#查看压缩包中的文件
def viewfile(zipfilename):
with zipfile.ZipFile(zipfilename, 'r') as z:
print(z.namelist())
viewfile('a.zip')
#解压
with zipfile.ZipFile('test.zip', 'r') as z:
print(z.namelist()) # 查看压缩包中的文件列表
# print(z.read(z.namelist()[0])) # 读出来压缩包中的第一个文件的内容打印到屏幕,也可保存到文件中
z.extractall('C:\\Users\\Administrator\\PycharmProjects\\aaa') # 解压,可设置解压路径
# z.extract('log.txt') # 解压,可选择解压压缩包中的某个文件
#z.extractall() # 解压全部
python--zipfile模块
最新推荐文章于 2023-04-22 20:29:37 发布