在Linux中设置环境int变量以在python中使用while循环但循环不会停止

时间:2015-06-29 16:43:38

标签: python linux bash shell

我用Python控制树莓派2上的LED。我希望LED持续x秒。当我在Linux中设置环境变量时。例如,export t=5。 LED指示灯亮,但不会熄灭。

如果我只是在python脚本中设置变量,一切正常。

我在Linux中设置了一个环境变量:

export t=5
sudo python test.py

在Python中使用它如此:

 #!/usr/bin/env python

    import RPi.GPIO as GPIO
    import time
    import os


    GPIO.setmode(GPIO.BOARD)

    GPIO.setup(11,GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

    GPIO.setup(12,GPIO.OUT)

    GPIO.output(12,0)

    s = 0

    t = os.environ.get('t')

    while s <= t:
            if (GPIO.input(11) == 1):

                            GPIO.output(12, 1)

                            time.sleep(0.1)

                            s += 0.1
            else:
                    GPIO.output(12, 0)

    GPIO.output(12, 0)

1 个答案:

答案 0 :(得分:5)

环境变量的值 - 以及os.environ的值 - 存储为字符串。因此,您需要将t转换为数字,以便与s进行比较,以执行您想要的操作:

t = int(os.environ.get('t'))