Да, это обойдет проблему определения объема работ, и я использую этот метод в других ситуациях; но в этой ситуации файл index.py не должен выполнять какую-либо обработку, он должен только установить несколько значений. Загрузчик фактически отвечает за загрузку другого класса, который выполняет обработку

я есть два файла, один находится в webroot, а другой - в начальной загрузке, расположенной в одной папке над корнем веб-сайта (кстати, это CGI-программирование).

Индексный файл в корневом веб-каталоге импортирует загрузчик и назначает ему переменную, а затем вызывает функцию для инициализации приложения. Все до этого работает как положено.

Теперь в файле начальной загрузки я могу напечатать переменную, но когда я пытаюсь присвоить значение переменной, выдается ошибка. Если вы уберете оператор присваивания, ошибки не выдаются.

Мне действительно любопытно, как работает обзор в этой ситуации. Я могу напечатать переменную, но я не могу присвоить ей. Это на Python 3.

index.py

# Import modules
import sys
import cgitb;

# Enable error reporting
cgitb.enable()
#cgitb.enable(display=0, logdir="/tmp")

# Add the application root to the include path
sys.path.append('path')

# Include the bootstrap
import bootstrap

bootstrap.VAR = 'testVar'

bootstrap.initialize()

bootstrap.py

def initialize():
    print('Content-type: text/html\n\n')
    print(VAR)
    VAR = 'h'
    print(VAR)

Благодарю.

Редактировать: сообщение об ошибке

UnboundLocalError: local variable 'VAR' referenced before assignment 
      args = ("local variable 'VAR' referenced before assignment",) 
      with_traceback = <built-in method with_traceback of UnboundLocalError object at 0x00C6ACC0>

Ответы на вопрос(1)

Ваш ответ на вопрос