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

Jul*_*lez 2 python linux bash shell

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

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

我在Linux中设置一个环境变量,如下所示:

export t=5
sudo python test.py
Run Code Online (Sandbox Code Playgroud)

并在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)
Run Code Online (Sandbox Code Playgroud)

jwo*_*der 5

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

t = int(os.environ.get('t'))
Run Code Online (Sandbox Code Playgroud)