其实我正在编写一个脚本,将两个文件写入桌面,让它为“a.txt”和“b.txt”.......所以在写入桌面后我必须阅读这个文件和压缩文件夹....
任何人都可以帮忙....我知道如何压缩文件夹,但不知道如何将两个文件添加到拉链
从文件夹中读取我知道它就像这样
def zipdir(basedir, archivename):
assert os.path.isdir(basedir)
with closing(ZipFile(archivename, "w", ZIP_DEFLATED)) as z:
for root, dirs, files in os.walk(basedir):
for fn in files:
absfn = os.path.join(root, fn)
zfn = absfn[len(basedir)+len(os.sep):]
z.write(absfn, zfn)
if __name__ == '__main__':
import sys
basedir = sys.argv[1]
archivename = sys.argv[2]
zipdir(basedir, archivename)
我现在使用的代码是
import zipfile
zip = zipfile.ZipFile('Python.zip', 'a')
zip.write('fields.txt')
zip.write('grp.txt')
zip.close()
这是创建这两个文件以及一些包含所有文件的额外文件夹.......
答案 0 :(得分:1)
您需要使用“a”-append参数打开zip文件。然后,您可以使用write参数而不覆盖文件。
来源:12.4.1
编辑:
zip.write( 'file.pdf', '/文件夹/ file.pdf')
答案 1 :(得分:0)
最简单的方法是使用shutil库。将您想要压缩的所有文件放在一个directoty(文件夹)
中import shutil
shutil.make_archive(output_filename_dont_add_.zip, 'zip', directory_to_download)
请记住,如果您使用ipython,则可以使用directory_to_download的相对地址