防止zipfile写入目录进行存档

时间:2015-01-08 14:17:02

标签: python python-2.7 zipfile

我有以下文件来压缩文件。文件正确压缩,但包含zip中的文件夹。我怎样才能压缩文件,同时仍能显示文件的位置?

create_zip_path = "folder1\\folder2\\my_zip.zip"
file_to_add_to_zip = "folder1\\folder2\\my_file.txt"

zip_file(create_zip_path, file_to_add_to_zip)


def zip_file(create_zip_path, file_to_add_to_zip):
    import zipfile
    try:
        import zlib
        compression = zipfile.ZIP_DEFLATED
    except:
        compression = zipfile.ZIP_STORED

    modes = { zipfile.ZIP_DEFLATED: 'deflated',
              zipfile.ZIP_STORED:   'stored',
              }

    zf = zipfile.ZipFile(create_zip_path, mode='w')
    zf.write(file_to_add_to_zip, compress_type=compression)

1 个答案:

答案 0 :(得分:1)

您可以使用os模块更改工作目录。这应该有效:

import os

print os.getcwd() #Your current working directory
os.chdir(os.getcwd() + '/folder1/folder2/') 
print os.getcwd() #Your new wordking dir

create_zip_path = "my_zip.zip"
file_to_add_to_zip = "my_file.txt"

zip_file(create_zip_path, file_to_add_to_zip)