В чем разница между импортом PIL и импортом изображения PIL?

Я копирую код из онлайн-примера, как искать разрешение изображения.

import PIL
batman = PIL.Image.open("image.jpg")
batmobile, batplane = batman.size
print(batmobile,"x",batplane)

Есть ошибка атрибута. PIL не имеет имени атрибута «Изображение».

from PIL import Image
batman = Image.open"image.jpg")

Если бы я изменился таким образом, код мог бы работать идеально. Итак, я использовал print(dir(PIL)) для просмотра атрибутов. Атрибута «Изображение» нет. Я не понимаю.

import datetime
batman = datetime.datetime.now()

такой же как

from datetime import datetime
batman = datetime.now()

Правильно? Я скачал «подушку» с помощью pip.


person white dark    schedule 12.06.2021    source источник
comment
Ответ уже здесь: Использовать "модуль импорта" или "импорт из модуля"?   -  person ThePyGuy    schedule 12.06.2021
comment
Я думаю, вы имеете в виду batman = Image.open("image.jpg")? Открытие изображения с помощью PIL работает нормально, как im= PIL.Image.open(i), где i — это полный путь к файлу изображения. В случае файла png im это объект PIL.PngImagePlugin.PngImageFile   -  person braulio    schedule 12.06.2021


Ответы (3)


из импорта PIL Изображение требуется для работы с подушкой (›=1.0),

вы также можете попробовать использовать импорт изображения напрямую, и это приведет к ошибке из-за обновлений.

и что касается вашего запроса к каталогу, загляните в подушку ( ответвление PIL ), и это должно привести к вашему удовлетворению, поскольку документация включает модуль изображения, доступ только к подушке (> 1.0), не поддерживает импорт изображения, но использует синтаксис из импортного изображения PIL.

Дополнительную информацию см. в официальной документации Pillow.

person Akshat Pande    schedule 12.06.2021
comment
Было бы полезно предоставить документы, на которые вы ссылаетесь. - person Manolis Pap; 13.06.2021
comment
Документация по Pillow, ссылка: pillow.readthedocs.io/en/stable - person Akshat Pande; 13.06.2021

import module_name

Это импортирует все функции в этом модуле.

from module_name import function_name

Это будет импортировать только определенную функцию из модуля.

person VFXGamer    schedule 12.06.2021
comment
Первый импортирует модуль, а не объекты внутри. - person Klaus D.; 12.06.2021
comment
Да. Но допускала ли первая программа «импорт только PIL» какие-то ошибки? Пожалуйста, укажите на мою ошибку, чтобы я мог избежать ее. - person white dark; 12.06.2021
comment
Вы импортируете определенные вещи, чтобы улучшить время выполнения. Это правильно, если вам нужно использовать более одной функции в своем коде, но если вам нужна только 1 функция, лучше ли импортировать эту конкретную функцию. - person VFXGamer; 12.06.2021

пример :

import leaf
environment = leaf.tree("Oxygen")

если вы импортируете все или эту конкретную функцию из импорта, вам не нужно снова упоминать функцию

from leaf import *
environment = tree("Oxygen")

or

from leaf import tree
environment = tree("Oxygen")
person captainchungus    schedule 12.06.2021