[Tutor] Invalid syntax issue
Alan Gauld
alan.gauld at btinternet.com
Mon Nov 3 01:36:36 CET 2014
On 02/11/14 23:55, Kody Fergerson wrote:
> worried about you all having it. When I try to check it or run it it
> comes up with "invalid syntax" and highlights the first "@" symbol. The
> code is as follows...
>
> TO = kody.wasson at gmail.com <mailto:kody.wasson at gmail.com>
> GMAIL_USER = kody.wasson at gmail.com <mailto:kody.wasson at gmail.com>
> GMAIL_PASS = shed no tears
These values are all strings so need to be enclosed in quote signs.
Python is trying to evaluate them as code and the @ makes no sense.
> SUBJECT = 'Intrusion!!'
> TEXT = 'Your PIR sensor detected movement'
You got it right here.
> ser = serial.Serial('COM4', 9600)
>
> def send_email():
> print("Sending Email")
> smtpserver = smtplib.SMTP("smtp.gmail.com <http://smtp.gmail.com>",587)
> smtpserver.ehlo()
> smtpserver.starttls()
> smtpserver.ehlo
> smtpserver.login(GMAIL_USER, GMAIL_PASS)
> header = 'To:' + TO + '\n' + 'From: ' + GMAIL_USER
> header = header + '\n' + 'Subject:' + SUBJECT + '\n'
> print header
> msg = header + '\n' + TEXT + ' \n\n'
> smtpserver.sendmail(GMAIL_USER, TO, msg)
> smtpserver.close()
Its traditional to have a blank line after a function definition.
It just makes it clearer where the definition ends.
> while True:
> message = ser.readline()
> print(message)
> if message[0] == 'M' :
> send_email(
Something missing there?
> time.sleep(0.5)
HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos
More information about the Tutor
mailing list