许多 zip 档案(尤其是那些包括 OS X 应用程序的档案)都包含符号链接。使用该zipfile.extractall
方法时,符号链接会变成常规文件。任何人都知道如何将它们保存为链接?
问问题
2765 次
3 回答
3
There seems to be no way to do this using the zipfile module. I solved it using the subprocess module:
from subprocess import check_output, CalledProcessError, STDOUT
try:
check_output(['unzip', '-q', my_zipfile, '-d', destination], stderr=STDOUT)
...
except CalledProcessError as err:
(use err.cmd, err.returncode and err.output to take action)
于 2014-11-21T19:00:57.073 回答
2
不使用extractall方法。您需要手动完成,可能以类似这样的内容结束(除非您是在提取而不是压缩)。
于 2013-11-02T00:58:34.133 回答
-2
使用 Mark Lutz 的ziptools,您可以使用完整的符号链接压缩和提取 zip。
尝试:
import ziptools
ziptools.extractzipfile('include-symlink.zip', './output-folder')
归功于 Mark Lutz:https ://learning-python.com/ziptools.html
于 2018-10-07T08:52:00.660 回答