programing

python zipfile 모듈이 내 파일을 압축하지 않는 것 같습니다.

nasanasas 2020. 12. 29. 07:10
반응형

python 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를 실행하고 있습니다.


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()  

zip형식 을 압축하는 정말 쉬운 방법이 있습니다 .

shutil.make_archive도서관 에서 사용하십시오 .

예를 들면 :

import shutil

shutil.make_archive(file_name, 'zip', file location after compression)

다음 에서 더 광범위한 문서를 볼 수 있습니다. 여기

참조 URL : https://stackoverflow.com/questions/4166447/python-zipfile-module-doesnt-seem-to-be-compressing-my-files

반응형