繁体   English   中英

如何在Python中压缩文件而不是文件夹/目录

[英]How can I zip a file not a folder/directory in Python

我正在尝试压缩文件,而不是文件夹或目录。

这是我的想法:

from shutil import make_archive

make_archive("name_of_zip", "zip", "image.png")

我知道我可以使用 ZipFile 但我听说它不是那么可靠。

但是我收到一个错误消息,因为我无法压缩文件,而只能压缩目录。

NotADirectoryError: [Errno 20] Not a directory: 'image.png'

有没有一种方法可以在Python中执行此操作,或者我必须使用子进程并运行如下代码:

$ zip zip_with_image.zip image.png
  adding: requirements.txt (stored 0%)

如文档中提到这里 您可以使用以下代码来压缩文件。

$ python -m zipfile -c monty.zip spam.txt eggs.txt

您可以使用zipfile模块:

>>> from zipfile import ZipFile
>>> with ZipFile("mynew.zip","w") as myzip:
...  myzip.write('z.py')
... 

生成名为mynew.zip的本地文件, mynew.zip包含单个文件z.py
如果您需要将更多文件添加到zip中,请继续执行myzip.write('filename') ,直到完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM