Форум сайта python.su
Добрый день!
Собрал “на коленке” код, который опрашивает датчик bmp180 на Raspberry Pi и записывает данные в таблицу БД. По принудительному запуску в самой папке ($ python get_data.py) все работает, строчки в БД исправно добавляются. А вот если переместить файлы с кодом в папку планировщика CRON, то лезут ошибки.
Вот сам код файла “get_data.py”:
#!/usr/bin/python import Adafruit_BMP.BMP085 as BMP085 sensor = BMP085.BMP085() a = '{!s:5}'.format(sensor.read_temperature()) b = '{!s:.6}'.format(sensor.read_pressure()/133.322) from mysql.connector import MySQLConnection, Error from python_connect import read_db_config def insert_temp_pressure(Temp, Press): query = "INSERT INTO Temp_press_table(Temp,Press) " \ "VALUES(%s,%s)" args = (Temp, Press) try: db_config = read_db_config() conn = MySQLConnection(**db_config) cursor = conn.cursor() cursor.execute(query, args) if cursor.lastrowid: print('last insert id', cursor.lastrowid) else: print('last insert id not found') conn.commit() except Error as error: print(error) finally: cursor.close() conn.close() def main(): insert_temp_pressure(a,b) if __name__ == '__main__': main()
Отредактировано bigmak (Авг. 19, 2016 17:09:54)
Офлайн
Вход в finally может быть до инициализации conn и cursor. Это наверное нужно учесть.
Офлайн
ShamanА можно прям для совсем начинающего?
Вход в finally может быть до инициализации conn и cursor. Это наверное нужно учесть.
Офлайн
Давайте Вы сначала оформите текст при помощи тега “code”, а затем подумаем что с ним лучше сделать.
Офлайн
Правильно сделать что-то в духе
conn = cursor = None try: db_config = read_db_config() conn = MySQLConnection(**db_config) cursor = conn.cursor() ### ..... conn.commit() except Error as error: print(error) finally: if cursor: cursor.close() if conn: conn.close()
Отредактировано Shaman (Авг. 19, 2016 17:16:12)
Офлайн
Shaman
Правильно сделать что-то в духе
Офлайн