using terminal commands results in variable does not work in PYTHON
-
I am trying to read the brightness parameter of blue Led of omega2 to use it in a variable to use this to manage a led in my frontplate of my box with omega 2lte. I do not know what i do wrong. here is the essential part of the python script I use:
while True:
w = os.system("cat /sys/class/leds/omega2lte:blue:wifi/brightness")
if w == 255:
status2 = "connected"
status = gpioObj.setValue(0)
print(status2)The frontplate shows if I am connected to my application via mobile ( iot ) or via wifi, if there is no good radio connection to mobile iot
If I look in logread I see that the cat command shows the correct value of 255 and but the ïf in the programm does not see the variable.
Van some body help me with this?
-
@kottes
Looks like os.system() is not passing the result of cmd to w.Try this:
import subprocess
cmd = "cat /sys/class/leds/input3::numlock/brightness"
ret = subprocess.check_output(cmd, shell = True).strip()
if ret == b'1':
print("NumLock ON")Thanks.
-
Why don't you just read the (pseudo) file? No need to open new processes. Using
w = int(open('/sys/class/leds/omega2lte:blue:wifi/brightness').read())
Will give you what you need from python in a pythonic way.