我尝试在Raspberry上使用crontab执行python脚本。
我从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'
。
在代码上方,我有2行:
#!/usr/bin/env python
和
# -*- coding: cp1252 -*-
执行时,我像在其他脚本中那样在.sh文件中使用sudo python /home/pi/Documents/Codes/Vorhersage.py
来执行。
我的问题:
为什么当我将它们存储为INT时从数据库中读取它们时,它们的值长而不是INT?为什么在-16到30之间的值转换为INT会引起问题?
< / li>怎么可能,当我用Thonny进行测试时,所有代码都能正常工作,但是在LXTerminal中调用时失败,并显示错误。
感谢您的帮助