`

python__zip

 
阅读更多

前几天用了下zip,要压缩个目录,下面那坨代码也是copy回来的...
当时比较匆忙,忘记了原文地址=。=
好久没写过脚本了,python更是N久没动过,脚本好使啊

#!/usr/bin/python
#coding=utf-8

import os
import shutil,string 
import zipfile


from os.path import join
# 直接导入到局部名字空间,所以它可以直接使用,而不需要加上模块名的限定。
# 你可以导入独立的项或使用 from module import * 来导入所有东西。
# 像 Java 中的 import module.* ;


#打包、压缩当前目录folder
def zipfolder(foldername, filename, includeEmptyDIr=True):   
	empty_dirs = []
	zip = zipfile.ZipFile(filename, 'w', zipfile.ZIP_DEFLATED)
	
	for root, dirs, files in os.walk(foldername):
		empty_dirs.extend([dir for dir in dirs if os.listdir(join(root, dir)) == []])  
		for name in files:
			path = join(root ,name)
			print path
			zip.write(join(root ,name))
			
		if includeEmptyDIr:  
			for dir in empty_dirs:
				zif = zipfile.ZipInfo(join(root, dir) + "/")
				zip.writestr(zif, "")
		empty_dirs = []
	zip.close()


print os.path.abspath('.')
dir = './'
filelist = os.listdir(dir)
for file in filelist:
	path = dir+file
	target = dir + file + '.zip'
	zipfolder(path, target)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics