我正在尝试压缩文件而不是文件夹或目录。
这是我的想法:
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%)
答案 0 :(得分:0)
如文档here中所述。您可以使用下面的代码来压缩文件。
$ python -m zipfile -c monty.zip spam.txt eggs.txt
答案 1 :(得分:0)
您可以使用zipfile
模块:
>>> from zipfile import ZipFile
>>> with ZipFile("mynew.zip","w") as myzip:
... myzip.write('z.py')
...
生成名为mynew.zip
的本地文件,其中包含单个文件z.py
如果您需要将更多文件添加到zip文件中,请继续进行myzip.write('filename')
,直到完成。