[PYTHON] python zipfile 모듈이 내 파일을 압축하지 않는 것 같습니다.
PYTHONpython zipfile 모듈이 내 파일을 압축하지 않는 것 같습니다.
나는 조금 도우미 기능을했다 :
import zipfile
def main(archive_list=[],zfilename='default.zip'):
print zfilename
zout = zipfile.ZipFile(zfilename, "w")
for fname in archive_list:
print "writing: ", fname
zout.write(fname)
zout.close()
if __name__ == '__main__':
main()
문제는 모든 파일이 압축되지 않는다는 것입니다! 파일의 크기가 동일하고 실제로 확장자가 ".zip"(이 경우 ".xls")로 변경됩니다.
winXP sp2에서 Python 2.5를 실행 중입니다.
해결법
-
==============================
1.이는 ZipFile에서 압축 방법을 지정해야하기 때문입니다. 지정하지 않으면 압축 방법을 압축하지 않고 저장하는 zipfile.ZIP_STORED로 가정합니다. 메소드를 zipfile.ZIP_DEFLATED로 지정해야합니다. 이를 위해 zlib 모듈을 설치해야합니다 (보통 기본적으로 설치됩니다).
이는 ZipFile에서 압축 방법을 지정해야하기 때문입니다. 지정하지 않으면 압축 방법을 압축하지 않고 저장하는 zipfile.ZIP_STORED로 가정합니다. 메소드를 zipfile.ZIP_DEFLATED로 지정해야합니다. 이를 위해 zlib 모듈을 설치해야합니다 (보통 기본적으로 설치됩니다).
import zipfile def main(archive_list=[],zfilename='default.zip'): print zfilename zout = zipfile.ZipFile(zfilename, "w", zipfile.ZIP_DEFLATED) # <--- this is the change you need to make for fname in archive_list: print "writing: ", fname zout.write(fname) zout.close() if __name__ == '__main__': main()
-
==============================
2.'zip 파일'형식을 압축하는 아주 쉬운 방법이 있습니다.
'zip 파일'형식을 압축하는 아주 쉬운 방법이 있습니다.
shutil.make_archive 라이브러리에서 사용하십시오.
예 :
import shutil shutil.make_archive(file_name, 'zip', file location after compression)
더 자세한 문서는 https://docs.python.org/2/library/shutil.html#shutil.make_archive에서 볼 수 있습니다.
from https://stackoverflow.com/questions/4166447/python-zipfile-module-doesnt-seem-to-be-compressing-my-files by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 어떻게 파이썬에서 문자열에있는 모든 문자의 인스턴스를 삭제하려면? (0) | 2018.11.04 |
---|---|
[PYTHON] 파이썬은리스트의 첫번째와 마지막 요소를 조각 낸다. (0) | 2018.11.04 |
[PYTHON] Windows 10의 작업 스케줄러에서 .py 파일 예약 (0) | 2018.11.04 |
[PYTHON] 두 구분자 사이의 단어를 삭제하는 방법? (0) | 2018.11.04 |
[PYTHON] 파이썬에서 함수를 중첩 할 때 오버 헤드가 있습니까? (0) | 2018.11.04 |