我几天前刚刚开始使用Python,现在我正在尝试使用Python为Arduino制作Gmail通知程序。我收到以下错误。我已经正确输入了我的用户名和ID,我甚至尝试过使用Google提供的应用程序指定代码,但我仍然收到此错误。
import serial, sys, feedparser,time
#Settings - Change these to match your account details
USERNAME="XXXX"
PASSWORD="XXXXXXX"
PROTO="https://"
SERVER="mail.google.com"
PATH="/gmail/feed/atom/important"
try:
ser = serial.Serial("COM3", 9600)
except serial.SerialException:
print ("no device connected exiting")
sys.exit()
newmails = int(feedparser.parse(PROTO + USERNAME + ":" + PASSWORD + "@" + SERVER + PATH)["feed"]["fullcount"])
# Output data to serial port
if newmails > 0:
ser.write("m")
print("some mail")
else:
ser.write("n")
print("no mail")
#print data to terminal
# Close serial port
ser.close()
错误如下: - C:\ Python33> python mailarduino.py Traceback (最近一次调用最后一次):文件“mailarduino.py”,第13行,in newmails = int(feedparser.parse(PROTO + USERNAME +“:”+ PASSWORD + “@”+ SE RVER + PATH)[“feed”] [“fullcount”])文件 “C:\ Python33 \ LIB \站点包\ feedparser-5.1-py3.3.egg \ feedparser.py” l 346,在 getitem 中返回dict。 getitem (self,key)KeyError: 'FULLCOUNT'
C:\ Python33>
答案 0 :(得分:0)
您要复制的教程已有5年历史。 API,您可以调用的函数以及它们返回的函数可以随时间而变化。我建议打印出来:
feedparser.parse(PROTO + USERNAME + ":" + PASSWORD + "@" + SERVER + PATH)
看看它产生了什么。一旦你看到你拥有的东西,你就可以找出如何提取你想要的信息。