Как проверить, был ли импортирован модуль python?

Как проверить, что я импортировал модуль где-нибудь в коде?

 if not has_imported("sys"):
     print 'you have not imported sys'

Причина, по которой я хочу проверить, уже ли я импортировал модуль, потому что у меня есть модуль, который я не хочу импортировать, потому что иногда это испортит мою программу.

Ответ 1

Проверьте имя модуля в sys.modules словаре:

import sys

modulename = 'datetime'
if modulename not in sys.modules:
    print 'You have not imported the {} module'.format(modulename)

Из документации:

Это словарь, который отображает имена модулей в уже загруженные модули.

Ответ 2

используйте sys.modules, чтобы проверить, был ли импортирован модуль (в качестве примера я использую unicodedata):

>>> import sys
>>> 'unicodedata' in sys.modules
False
>>> import unicodedata
>>> 'unicodedata' in sys.modules
True

Ответ 3

if "sys" not in dir():
  print("sys not imported!")