防止 zipfile 写入目录以存档
Prevent zipfile writing directory to archive
我有下面的压缩文件。文件压缩正确,但包含压缩文件中的文件夹。我怎样才能只压缩文件,同时仍然能够显示文件所在的位置?
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)
您可以使用 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)
我有下面的压缩文件。文件压缩正确,但包含压缩文件中的文件夹。我怎样才能只压缩文件,同时仍然能够显示文件所在的位置?
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)
您可以使用 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)