локальные переменные «серверы», на которые ссылаются перед назначением

def websvc(currency): db = MySQLdb.connect("localhost", "root", "aqw", "PFE_Project") cursor = db.cursor() sql = "SELECT * FROM myform_composantsserveur" try: cursor.execute(sql) results = cursor.fetchall() currency_in = currency req = urllib2.urlopen('http://rate-exchange.appspot.com/currency?from=USD&to=%s') % (currency_in) req1 = req.read() rate = int(req1['rate']) # rate = 0.77112893299999996 servers = [] for row in results: result = {} result['1'] = row[1] result['3'] = int(row[2]) result['4'] = int(row[3]) result['5'] = int(row[4]) result['6'] = row[5] result['7'] = int(row[6]) result['8'] = row[7] result['9'] = row[8] p = rate * calculations_metric (int(row[2]), int(row[3]), int(row[4]), int(row[6]), row[7]) result['2'] = p keys = result.keys() keys.sort() servers.append(result) except: print "Error: unable to fetch data" db.close() return servers 

но у меня есть эта ошибка при компиляции кода:

Тип исключения: UnboundLocalError

Значение исключения: локальная переменная 'servers', на которую ссылаются перед назначением

Исключение Место: / home / amine / PFE Directory / mysite1 / myform / Webservice.py в websvc, строка 43 Python Исполняемый файл: /usr/bin/python2.7

этот код работает нормально, прежде чем добавить параметр в эту функцию

  • Python: присваивать каждому элементу списка отдельную переменную
  • Сканирование кадра чтения Python
  • сортировка вложенного словаря со списками в python
  • Список сортировки данных Python по алфавиту
  • Эффективность индексирования списка Python
  • Разделение вложенного списка на два списка
  • эффективно знать, если пересечение двух списков пусто или нет, в python
  • Как написать вывод списка в текстовый файл в Python
  • 2 Solutions collect form web for “локальные переменные «серверы», на которые ссылаются перед назначением”

    Ваш код не может достичь инициализации серверов, и поэтому вы получаете ошибку. Просто переместите инициализацию перед тем, как попробовать. Измените этот способ:

     def websvc(currency): db = MySQLdb.connect("localhost", "root", "aqw", "PFE_Project") cursor = db.cursor() sql = "SELECT * FROM myform_composantsserveur" servers = [] try: cursor.execute(sql) results = cursor.fetchall() currency_in = currency req = urllib2.urlopen('http://rate-exchange.appspot.com/currency?from=USD&to=%s') % (currency_in) req1 = req.read() rate = int(req1['rate']) # rate = 0.77112893299999996 for row in results: result = {} result['1'] = row[1] result['3'] = int(row[2]) result['4'] = int(row[3]) result['5'] = int(row[4]) result['6'] = row[5] result['7'] = int(row[6]) result['8'] = row[7] result['9'] = row[8] p = rate * calculations_metric (int(row[2]), int(row[3]), int(row[4]), int(row[6]), row[7]) result['2'] = p keys = result.keys() keys.sort() servers.append(result) except: print "Error: unable to fetch data" db.close() return servers 

    Я вижу проблему, которую вы отредактировали, чтобы добавить недостающие части. Это обработчик исключений.

    Если у вас есть ошибка после try и до servers=[] он перейдет к предложению except, а затем просмотрит return servers и завершит сбой.

    Возможно, вы захотите использовать list() вместо использования dict() для эмуляции списка …

    Interesting Posts

    Завершение табуляции в интерпретаторе Python в терминале OS X

    Как построить пакет debian с CPack для выполнения setup.py?

    Разверните webapp на GAE, затем выполните изменения в Интернете с консоли GAE

    Как не блокировать чтение / запись через удаленную файловую систему

    Поиск индекса списка в цикле

    Проблема: Сумка функций Обучение SIFT или SURF для обнаружения автомобиля в видео с OpenCV + Python

    (Django) как получить название месяца?

    Как использовать средний метод для pandas TimeSeries с значениями десятичного типа?

    Как разрезать 2D-массив Python? Сбой с: «TypeError: индексы списка должны быть целыми, а не кортежем»

    Как определить, находится ли подстрока в другой строке

    Разница между if <obj> и если <obj> не является None

    Разберите JavaScript, возвращенный с BeautifulSoup

    Создание PDF-файлов из ввода SVG

    Безопасен ли сервер в комплекте с Flask для использования в производстве?

    Проблема с запуском python из crontab – «неправильная установка Python»

    Python - лучший язык программирования в мире.