xunbu7

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\'

 

分类:

技术点:

相关文章: