我遇到了项目问题。我需要做一个使用python与电子设备通信的检测系统。我正在创建一个检测系统。问题是我想检测然后发送到用作我的用户界面的php文件。
的Python:
如果led已打开,请发送到php,
如果led已关闭,请发送给php,
PHP:
显示[从python接收的值]
答案 0 :(得分:2)
如果你想直接调用php脚本:
php代码:
<?php
$state = $argv[1];
echo $state;
?>
python代码:
from subprocess import *
#ledstate='on'
p = Popen(['/usr/bin/php','<php file name>',ledstate],stdout=PIPE)
print p.stdout.read()
如果您想通过服务器致电:
php代码:
<?php
$state = $_GET["led"];
echo $state;
?>
python代码:
import urllib2
#ledstate='on'
req = urllib2.Request(url='http://example.com/<php file name>?led=%s' % ledstate )
f = urllib2.urlopen(req)
print f.read()
答案 1 :(得分:0)
您可以使用subprocess.check_call来调用从python传递变量的php命令:
from subprocess import check_call
check_call(["list","of","php" ,"commands","off/on"])
如果要存储输出,请使用check_output
答案 2 :(得分:0)
现在我已经有了一种使用php来检索python数据的方法..
<?php
$result = exec("sudo python /home/pi/detect_led.py");
$resultData = json_decode($result);
print $resultData;
?>
但问题是......数据很慢..我的意思是......当有变化时我必须刷新2次才能改变它的价值。所以我可以改变任何地方使其正确.. ?