Представьте, что есть библиотека Python states
, в которой есть сценарий для каждого из 50 состояний, названный в честь этих сокращений.
al.py
ak.py
...
or.py
...
wi.py
wy.py
Это определенно не лучший способ структурировать код. Но, учитывая, что он существует, и учитывая, что or
является зарезервированным ключевым словом, есть ли разумный способ написать вызывающего абонента для Орегона, который включает оператор
from states import or
Или библиотека должна изменить свое соглашение об именах на что-то лучше, например, полное имя состояния.
Вы не можете напрямую импортировать or
, даже если выполняете from... import... as
. Вместо этого вам нужно будет использовать механизм импорта на основе функций, поставляемый в importlib
. Это будет работать:
import importlib
_or = importlib.import_module('states.or')
и вы можете называть этот модуль _or
.
Благодарность! Мне нужно было импортировать функцию из файла с именем import.py, и это сработало отлично!