Python и ошибка InternalError(-1, ‘Unread result found.’, None))

Сия ошибка возникает когда одно и тоже соединение используется в «вложенных» запросах.  Хотя курсоры разные. Т.е. внутри проходу по циклу cursor.fetchone(), выполняется еще один запрос с этим же идентификатором соединения, но с другим курсором.

Решение: курсор создаем с «буфером»: cursor = sbss.cursor(dictionary=True,buffered=True)

Например:

Python и аргументы командной строки

В питоне есть два способа получения аргументов запуска скрипта из командной строки:

  1. Использовать модуль argparse. Попробовал. Не понравилось, потому что — это еще одна дополнительная зависимость в скрипте, что мне сильно не нравится, когда шапка простого скрипта забита десятком строк import с модуля которых нет в «базе», что нервирует когда запускаешь первый раз скрипт на системе с «голым» питоном. Для желающих, вот например хорошая статья
  2. Использовать стандартный модуль sys. Менее «навороченный», но и хотяб документацию не нужно «переваривать» с пол часа. И так всё понятно и стандартно.

Итак, пример скрипта:

Выборка из базы на python с именованными ячейками.

На php я привык, что результат запроса от базы данных, всегда приходит в именованном массиве. На python  это по не понятной причине по умолчанию не так. Вот как выглядит код для получения именованного массива на python:

Изучаем Python. Запросы Mysql

Вот пример программы, для получения данных из БД Mysql. Синтаксис конечно не очень — как то чуть более сложнее по сравнению с PHP. Чуть позже попробую создать класс для работы с MySQL, добавив чуть больше «сахара».

Изучаем Python. Грабли №2

Как оказалось, установив питон, под Windows мы не имеем сразу возможности работать с MySQL. Для этого нужно найти, скачать и установить дополнительный модуль. Поиск по гуглу дал два самых популярных:  MySQLdb и официальный от MySQL . Первый — скачал установил — не заработал. Видимо еще нужно было еще какие-то манипуляции проводить. Второй — заработал сам, сразу после установки. Итак пробуем:

Установка модулей для работы с MySQL на Ubuntu:

FreeBSD:

1 10 11 12