您的位置:首页 > 编程语言 > Python开发

python 压缩 解压缩 文件

2016-06-04 14:50 405 查看
1. 用zipfile模块打包文件或是目录、解压zip文件

http://wangwei007.blog.51cto.com/68019/1045577

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from zipfile import *
import zipfile

#解压zip文件
def unzip():
source_zip="c:\\update\\SW_Servers_20120815.zip"
target_dir="c:\\update\\"
myzip=ZipFile(source_zip)
myfilelist=myzip.namelist()
for name in myfilelist:
f_handle=open(target_dir+name,"wb")
f_handle.write(myzip.read(name))
f_handle.close()
myzip.close()

#添加文件到已有的zip包中
def addzip():
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
f.write('file_to_add.py')
f.close()

#把整个文件夹内的文件打包
def adddirfile():
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
startdir = "c:\\mydirectory"
for dirpath, dirnames, filenames in os.walk(startdir):
for filename in filenames:
f.write(os.path.join(dirpath,filename))
f.close()


2. python 调用rar命令行 压缩文件

通过os模块的system()方法调用了系统的rar.exe命令,这个方法会返回一个变量exit_status

import os
import time

source = [r'D:\Work\Python\Demo', 'd:\\work\\linux']
target_dir = 'D:\\Work\\backup\\'

target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.rar'
zip_command = "rar a %s %s" % (target, ' '.join(source))

if os.system(zip_command) == 0:
print 'Sucessful backup to', target
else:
print 'Backup Failed'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: