将参数从PHP传递到Python不起作用

时间:2016-07-19 17:06:43

标签: php python raspberry-pi parameter-passing

我有一个名为rainbow.py的python srcipt。我可以选择性地运行它。从命令行 python rainbow.pypython rainbow.py 4效果很好。当我从php调用此脚本时,我无法传递参数。 我试过了:

$argument=4; 
exec("python rainbow.py 4");
exec("python rainbow.py $argument");
exec("python rainboy.py .$argument"); 

他们让代码运行就像没有有效的参数一样。 (我在我的python代码中使用duration=int(sys.argv[1],脚本需要在一段时间后停止,并且当从php调用时,总是默认持续时间是活动的) 我试过了

$argument="4"

也是,没有用。 你能告诉我什么是错的吗?我怎么能通过这个论点?我对python很有信心,但是总有一个php新手。

我的PHP代码的一部分:

$argument="2";
echo "printing line  <br>";

exec("python rainbow.py $argument");//duration option does not work

我的python代码的一部分:

duration=10

try:
    if sys.argv[1]!=None:
        print "arg found!"

        duration=int(sys.argv[1])
except: pass
print "duration:",duration

我无法看到从php调用python时打印输出的持续时间,但是从LED我可以看到持续时间总是10秒

1 个答案:

答案 0 :(得分:0)

我在python调用中添加了sudo:

exec("sudo python rainbow.py $argument")

它现在正常工作。有人可以告诉我为什么吗? python脚本也没有运行,但没有考虑参数。