该zipfile.ZipFile文件说,ZIP_DEFLATED可以用作仅在压缩方法zlib是可用的,但既不zipfile模块规格也不zlib模块规格说,大约什么时候zlib可能不可用,或者如何检查其可用性。
我在 Windows 上工作,当我安装任何版本的 Python 时,zlib模块都可用。这在 Linux 中有何不同?是否zlib需要单独安装?
另外,检查zlib可用性的正确方法是什么?是import zlib要提高的ImportError,如果它是不可用?
换句话说,这是正确的使用方法zipfile吗?
try:
import zlib
except ImportError:
zlib = None
compression = zipfile.ZIP_STORED if zlib is None else zipfile.ZIP_DEFLATED
with zipfile.ZipFile(file, mode, compression) as zf:
...
Run Code Online (Sandbox Code Playgroud)
ale*_*ame 10
sudo apt install python3.8,zlib将作为依赖项安装。zlib1g-dev,(有时会忘记执行此操作),然后将 python 编译并安装为sudo make install. 完整说明在这里zlib不可用import zlib将引发异常,例如>>> import zlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'zlib
Run Code Online (Sandbox Code Playgroud)
Python 标准库中有这样的代码示例。例如在 zipfile.py 中:
try:
import zlib # We may need its compression method
crc32 = zlib.crc32
except ImportError:
zlib = None
crc32 = binascii.crc32
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |