Variables in a loop, Newby question

Dave Angel davea at davea.name
Tue Dec 24 13:42:45 EST 2013


On Tue, 24 Dec 2013 09:54:48 -0800 (PST), vanommen.robert at gmail.com 
wrote:

You should always start by mentioning python version and o.s.

> import time
> global Sens_Raw1, Sens_Raw2, Sens_Raw3, Sens_Raw4, Sens_Raw5, 
Sens_Raw6, Sens_Raw7, Sens_Raw8, Sens_Raw9, Sens_Raw10

The global statement makes no sense here, as you're not inside a 
function.  Everything you've written is global. That means global to 
one module or source file. If you need to access data from another 
module you'll use import,  and if you need to share with another 
process you'll need to use a file, a pipe, a queue,  or some other 
mechanism. 

> while True:
>         sensorids = ["28-0000054c4932", "28-0000054c9454", 
"28-0000054c9fca", "28-0000054c4401", "28-0000054dab99", 
"28-0000054cf9b4", "28-0000054c8a03", "28-0000054d$
>         avgtemperatures = []
>         for sensor in range (len(sensorids)):
>                 temperatures = []
>                 Sens_Raw = []

You're clobbering the list every time around the loop.  Move this 
line before the loop.

>                 text = '';
>                 while text.split("\n")[0].find("YES") == -1:
>                                 tfile = 
open("/sys/bus/w1/devices/"+ sensorids[sensor] +"/w1_slave")
>                                 text = tfile.read()
>                                 tfile.close()
>                                 time.sleep(0.1)
>                 secondline = text.split("\n")[1]
>                 temperaturedata = secondline.split(" ")[9]
>                 temperature = float(temperaturedata [2:])
>                 temperatures.append(temperature / 1000)
>                 print "Sensor ", sensor + 1, temperatures
>                 # Sens_Raw(sensor) = temperatures

Use Sens_Raw.append () to add to the end of the list.





> This is the program I am trying to adjust. The goal is to make 
Sens_Raw1 to 10 global so I can use it in other programs on the 
Raspberry Pi. The print Sensor wordks fine.


> Thanks for any help!

-- 
DaveA




More information about the Python-list mailing list