On Saturday, December 22, 2012 9:44:39 PM UTC+1, Joel Goldstick wrote: > On Sat, Dec 22, 2012 at 3:36 PM, Alexander Ranstam <ran...@gmail.com> wrote: > > Hi! > > > > Im totally new to Python, and im using it on my Raspberry pi. I found a > program that sends an email, and one that checks the temperature of my CPU, > but i cant seem to combine the to into the funktion that i want, sending me > the CPU temp via Email. > > > > > The two programs work very well on their own, but this doesnt work. > > > > this works: server.sendmail(fromaddr, toaddrs, msg) > > but this doesnt: server.sendmail(fromaddr, toaddrs, cpu_temperature) > > > > despite the command "print cputemp" working in the same program. > > > > When i run the program i get the error: > > > > Traceback (most recent call last): > > File "sendcpu.py", line 36, in <module> > > msg = cpu_temperature > > NameError: name 'cpu_temperature' is not defined > > > > Does anyone know why the program claims that cpu_temperature isnt defined, > when it is? > > > > You should copy and paste the code here including the context around the > error. You say print cputemp works, but cpu_temperature is not defined. > They are spelled differently. Start there > > > > > Thanx! > > > > //Alexander > > > > -- > > http://mail.python.org/mailman/listinfo/python-list > > > > > -- > Joel Goldstick
Hi! I made a typing error, and couldnt edit the post :( this is the code: #!/usr/bin/env python from __future__ import division from subprocess import PIPE, Popen import psutil import smtplib def get_cpu_temperature(): process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE) output, _error = process.communicate() return float(output[output.index('=') + 1:output.rindex("'")]) def main(): cpu_temperature = get_cpu_temperature() cpu_usage = psutil.cpu_percent() ram = psutil.phymem_usage() ram_total = ram.total / 2**20 # MiB. ram_used = ram.used / 2**20 ram_free = ram.free / 2**20 ram_percent_used = ram.percent disk = psutil.disk_usage('/') disk_total = disk.total / 2**30 # GiB. disk_used = disk.used / 2**30 disk_free = disk.free / 2**30 disk_percent_used = disk.percent # # Print top five processes in terms of virtual memory usage. # print 'CPU temperature is: ', cpu_temperature fromaddr = 'myemailadress' toaddrs = 'myemailadress' #msg = 'There was a terrible error that occured and I wanted you to know!' msg = cpu_temperature # Credentials (if needed) username = 'myusername' password = 'mypassword' # The actual mail send server = smtplib.SMTP('smtp.gmail.com:587') server.starttls() server.login(username,password) server.sendmail(fromaddr, toaddrs, cpu_temperature) server.quit() if __name__ == '__main__': main() running it gives the following error: pi@raspberrypi /home/python $ python sendcpu.py Traceback (most recent call last): File "sendcpu.py", line 36, in <module> msg = cpu_temperature NameError: name 'cpu_temperature' is not defined pi@raspberrypi /home/python $ isnt cpu_temperature defined? -- http://mail.python.org/mailman/listinfo/python-list