我有一个名为rainbow.py的python srcipt。我可以选择性地运行它。从命令行
python rainbow.py
,python 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秒
答案 0 :(得分:0)
我在python调用中添加了sudo:
exec("sudo python rainbow.py $argument")
它现在正常工作。有人可以告诉我为什么吗? python脚本也没有运行,但没有考虑参数。