Есть ли способ установить глобальную переменную внутри модуля? Когда я попытался сделать это наиболее очевидным способом, как показано ниже, интерпретатор Python сказал, что переменная __DBNAME__
не существует.
...
__DBNAME__ = None
def initDB(name):
if not __DBNAME__:
__DBNAME__ = name
else:
raise RuntimeError("Database name has already been set.")
...
А после импорта модуля в другой файл
...
import mymodule
mymodule.initDB('mydb.sqlite')
...
И обратная связь была:
... UnboundLocalError: локальная переменная "DBNAME", на которую ссылается перед назначением...
Есть идеи? Я пытаюсь настроить синглтон с помощью модуля согласно этой рекомендации.