TG Telegram Group & Channel
Python: задачки и вопросы | United States America (US)
Create: Update:

Имя модуля в операторе 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)

Имя модуля в операторе 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)
👍51


>>Click here to continue<<

Python: задачки и вопросы




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)