TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.92K subscribers
Post #3831 1.14K
Имя модуля в операторе import или from является жестко закодированным именем переменной. Тем не менее, иногда ваша программа будет получать имя модуля, подлежащего импортированию, в виде строки во время выполнения — например, в результате выбора, производимого в графическом пользовательском интерфейсе, или разбора XML-документа. К сожалению, вы не можете использовать операторы import напрямую для загрузки модуля с именем, заданным как строка — Python ожидает имя переменной, которое берется буквально и не оценивается, а не строку или выражение.


>>> import 'json'
... SyntaxError: invalid syntax


Простое присваивание имени переменной соответствующей строки тоже не поможет:


>>> x = 'json'
>>> import x
... ModuleNotFoundError: No module named 'x'


Чтобы импортировать модуль динамически по строке, нужно использовать importlib:


import importlib
module_name = 'json'
json = importlib.import_module(module_name)
  • 👍 5
  • ❤ 1
More from @quiz_python
  1. Sep 29, 2026Развёрнутое пояснение: 1. Создаётся функция load_rate, которая при вызове печатает строку…
  2. Sep 29, 2026Post #4902
  3. Sep 26, 2026Развёрнутое пояснение: 1. При создании класса __slots__ разрешает экземплярам хранить атри…
  4. Sep 26, 2026Post #4900
  5. Sep 26, 2026Развёрнутое пояснение: 1. deque создаёт очередь из a и b с максимальной длиной 3. 2. appen…
  6. Sep 26, 2026Post #4898
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →