2009년 06월 27일
[python] 디렉토리를 Zip파일로 압축하는 코드
디렉터리를 zip파일로 압축하는 파이선 코드.
SVN 리파지토리를 백업할 용도로 만들었다.
파일 경로 처리하는데서 좀 문제가 있고
압축된 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 | 2009/06/27 23:25 | 전산질 | 트랙백 | 덧글(0)







☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]