我已经建立了一个简单的网页,打开LED在一个特定的时间取决于哪个按钮是按。每个按钮当前调用一个不同的python文件,但是除了两个变量之外,脚本都是相同的。我想从PHP中传递一个变量到Python3,这个变量告诉一个单一的脚本,哪个脚本亮着,打开多长时间。我看到的所有YouTube视频都是与网页有关的,而不是机器人。我可以让PHP传递一个单词并打印这个单词,但是当我试图将一个整数传递给Python时,它每次都会被卡住。
下面应该打开连接到GPIO 7的LED,持续时间为5秒,但不会发生任何事情。如果我把Pin作为一个数字,并且只有一个变量的持续时间,那么它就会启动,但永远不会消失,所以我知道它正在运行这个脚本。
如何使Python将变量作为数学数字而不只是一个单词或字符?谢谢。
PHP代码:
if(isset($_GET['test2']))
{
exec("sudo python /var/www/html/paramtest.py '7' '5'");
echo "test button 2";
}Python代码:
import sys
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(13, GPIO.OUT)
x = sys.argv[1]
y = sys.argv[2]
GPIO.output(x, True)
sleep(y)
GPIO.output(x, False)
GPIO.cleanup()
print "done"发布于 2018-04-24 02:22:54
假设我没有误解这个问题,您只需要显式地将包含您的数字的字符串转换为一个int。
要做到这一点,只需像这样使用int():
x = int(x) 如果需要,还可以将输入字符串所在的基指定为第二个参数,如下所示:
y = int(y,10)如果y是一个包含基数10的数字的字符串。
如果需要更多有关此方法或其他方法的详细信息,也可以参考Python 3文档。
https://stackoverflow.com/questions/49992166
复制相似问题