Я пытаюсь выполнить мой python скрипт с crontab на моей Raspberry.
Я читаю некоторые значения из базы данных SQL и использую их для выбора символов на веб-странице.
Я использую MySQLdb:
def GetData(sql_command):
cur.execute(sql_command)
result = cur.fetchall()
return result
Когда я выполняю скрипт с помощью Thonny, он работает без ошибок. Когда я выполняю скрипт с использованием Crontab, он не работает. Итак, я попробовал скрипт в LXTerminal с результатом, что у меня появляется ошибка invalid literal for int() with base 10: '10L'
, когда я пытаюсь преобразовать значение облака в целое число. Значения в базе данных находятся в диапазоне от -16 до 30 и уже сохранены как INT.
def cloudtosymbol(cloud):
cloud = int(cloud)
if cloud == 1:
symbol = "001.png"
elif cloud == 2:
symbol = "002.png"
Я знаю, что L за значением указывает на Long. Я попытался добавить cloud = float(cloud)
перед преобразованием int с новым сообщением об ошибке: invalid literal for int() with base 10: '10L'
.
Поверх кода у меня есть две строки:
#!/usr/bin/env python
и
# -*- coding: cp1252 -*-
При выполнении я использую: sudo python /home/pi/Documents/Codes/Vorhersage.py
в файле. sh для выполнения, как я делаю с другими сценариями.
На мои вопросы:
Почему значения длинны вместо INT, когда я читаю их из БД, когда они хранятся как INT, и почему преобразование в INT может быть проблемой со значениями от -16 до 30?
Как может быть так, что весь код работает отлично, когда я тестирую его с Thonny, но завершается с ошибкой при вызове в LXTerminal.
Спасибо за вашу помощь