2012. 4. 2. 12:56

퍼온글 입니다.


원문출처 : http://cafe.naver.com/digitaldream.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=2115&


기존에 공짜 압축둘들이 많이 나와 있기는 하지만

 

경우에 따라서는 불편하게 느낄때가 간혹 입니다.

 

저같은 경우 비압축 avi 를 무더기로 사용 할때가 많기 때문에

 

백업을 위해 이 avi 파일 들을 압축해야 할경우가 종종 입니다.

 

하지만 기존의 압축툴 들은 대부분 폴더 의주로 압축하기 ㅤㄸㅒㅤ문에 한폴더에 있는 무더기 (한파일에 1기가 넘는) 를 압축하는건

 

미친 짓이고 말입니다.

 

이때 간단하게 python script 를 만들어서 사용 하곤 합니다.

 

 

>>> import zipfile
>>> import glob, os
>>> avi_list = glob.glob('e:/KBS/*.avi')

>>> for avi_ in avi_list:
 print avi_
 f = zipfile.ZipFile('e:/KBS/%s.zip' % os.path.basename(avi_), 'w')
 f.write(avi_, os.path.basename(avi_), zipfile.ZIP_DEFLATED)
 f.close()
 os.path.getsize(avi_)
 print 'e:/KBS/%s.zip' % os.path.basename(avi_)
 os.path.getsize('e:/KBS/%s.zip' % os.path.basename(avi_))

 

 

요런식으로 말이죠...

zipfile  module 은 기본 모듈이기 때문에 그냥 실행 됩니다.

 

zip 에서 파일 목록을 가져 오는 방법은

 

f = zipfile.ZipFile("??.zip", 'r')

for name in f.namelist():

    print name

 

이런식으로 하면 되고요..

 

데이타를 빼내려면,

f = zipfile.ZipFile("??.zip", 'r')

for name in f.namelist():

    print name

    data = f.read(name)

 

하면 됩니다.

 

단 2기가 가 넘는 파일은 압축이 안됩니다.

Posted by 땡보