>> import PIL >>> PIL.Image Traceback (most recent call last): File "", line 1, in-6ren">
gpt4 book ai didi

python - 为什么 "import PIL; PIL.Image"不起作用,但 "from PIL import Image"起作用?

转载 作者:行者123 更新时间:2023-12-05 02:17:44 31 4
gpt4 key购买 nike

在 python 解释器中:

>>> import PIL
>>> PIL.Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Image'
>>> from PIL import Image
>>> PIL.Image
<module 'PIL.Image' from '/usr/lib/python2.7/site-packages/PIL/Image.pyc'>

为什么我必须将导入设置为“从 PIL 导入图像”?我对“使这种行为成为可能的 python 导入中的底层工作原理是什么?”都感兴趣。和“为什么 PIL 包设计成这样工作?”

另外,我真的很喜欢在编程时保持一个干净的命名空间。如果我想在我的代码中使用 PIL.Image,我应该这样导入吗:

>>> import PIL
>>> from PIL import Image
>>> del Image

或者有更好的方法吗?

最佳答案

您可以导入 PIL.Image:

import PIL.Image
PIL.Image.open('my_pic.jpg')

由于包的历史,我认为 Pillow 是以这种方式构建的。原始包 PIL 允许您执行 import Image。 Pillow 是支持 Python 3 的 PIL 的分支,将 Image 移动到 PIL 命名空间。建议的 import from PIL import Image 可以轻松地从 PIL 切换到 Pillow。查看porting docs了解更多信息。

关于python - 为什么 "import PIL; PIL.Image"不起作用,但 "from PIL import Image"起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47329105/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com