variável @ Python atribuída por um módulo externo pode ser acessada para impressão, mas não para atribuição no módulo de destin
Tenho dois arquivos, um está na raiz da web e outro é uma inicialização localizada em uma pasta acima da raiz da web (a propósito, essa é a programação CGI
O arquivo de índice na raiz da Web importa a autoinicialização e atribui uma variável a ela, depois chama uma função para inicializar o aplicativo. Tudo aqui funciona como esperado.
Agora, no arquivo de inicialização, posso imprimir a variável, mas quando tento atribuir um valor à variável, um erro é gerado. Se você retirar a declaração de atribuição, nenhum erro será gerad
Estou realmente curioso sobre como o escopo funciona nessa situação. Posso imprimir a variável, mas não posso atribuir a ela. Isso está no 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)
Obrigado
Edit: A mensagem de erro
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>