[python] 디렉토리를 Zip파일로 압축하는 코드

디렉터리를 zip파일로 압축하는 파이선 코드.
SVN 리파지토리를 백업할 용도로 만들었다.

파일 경로 처리하는데서 좀 문제가 있고
압축된 zip파일을 알집같은걸로 열어보면 좀 내부가 심하게 꼬여있지만
일단 압축풀면 다시 그대로 풀리니까 고칠 계획은 없음.

 1 #!/usr/bin/python
 2 # Compress directory.
 3 #
 4 # antiinternet@gmail.com
 5
 6 import sys, os
 7 import zipfile
 8
 9 from os import path
10 from zipfile import ZipFile
11
12 def directoryIter( rootDir ):
13         rootDir = path.realpath( rootDir )
14         if not path.isdir( rootDir ):
15                 raise Exception("Not a directory!")
16
17         li = []
18         for _tfile in os.listdir( rootDir ):
19                 fileName = path.join( rootDir, _tfile )
20
21                 if path.isdir( fileName ):
22                         for subDirFile in directoryIter( fileName ):
23                                 li.append( subDirFile )
24                 else:
25                         li.append( fileName )
26
27         return li
28
29 def dir2zip( rootDir, zipName, silent ):
30         fileList = directoryIter( rootDir )
31         zip = ZipFile( zipName, "w", zipfile.ZIP_DEFLATED )
32         for file in fileList:
33                 zip.write( path.relpath(file) )
34                 if not silent:
35                         print "Add:", file
36
37         zip.close()

by Rei | 2009/06/27 23:25 | 전산질 | 트랙백 | 덧글(0)

트랙백 주소 : http://reino.egloos.com/tb/1450601
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶