У меня есть немного Python для подключения к базе данных с переключением в локальном или в реальном времени.Как это «упоминается перед назначением»?
LOCAL_CONNECTION = {"server": "127.0.0.1", "user": "root", "password": "", "database": "testing"}
LIVE_CONNECTION = {"server": "10.1.1.1", "user": "x", "password": "y", "database": "nottesting"}
if debug_mode:
connection_info = LOCAL_CONNECTION
else:
connnection_info = LIVE_CONNECTION
self.connection = MySQLdb.connect(host = connection_info["server"], user = connection_info["user"], passwd = connection_info["password"], db = connection_info["database"])
работает отлично локально (Windows, Python 2.5), но жить (Linux, Python 2.4) Я получаю:
UnboundLocalError: local variable 'connection_info' referenced before assignment
я вижу ту же ошибку, даже если я удалить, если/еще и просто назначьте информацию о подключении непосредственно к значению LIVE_CONNECTION. Если я жестко закодирую значения живого соединения в последней строке, все это сработает. Ясно, что я сон. Что я не вижу?
3 n's are not see! –
Да! Даже когда я увидел, что '=' не выстраивался в линию, мне потребовалось третье сканирование, чтобы найти лишнее n. В любом случае, надеюсь, следующий вопрос Тома не о статическом печатании :) –
Вау, я юцц. Вы могли бы подумать, что пробел Python сделал бы это очевидным для меня, когда это = не выстраивалось в линию. Спасибо всем. – Tom