gmail通知程序代码python

时间:2013-06-08 14:24:52

标签: python-3.x arduino

我几天前刚刚开始使用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>

1 个答案:

答案 0 :(得分:0)

您要复制的教程已有5年历史。 API,您可以调用的函数以及它们返回的函数可以随时间而变化。我建议打印出来:

feedparser.parse(PROTO + USERNAME + ":" + PASSWORD + "@" + SERVER + PATH)

看看它产生了什么。一旦你看到你拥有的东西,你就可以找出如何提取你想要的信息。