我是python的新手,并试图将2个变量从PHP传递给Python。我可以得到一个没有问题(在字符串中有空格)但是当我尝试在sys.argv中读取第二个时它失败了。
PHP如下:
$wt = "yes it worked woot";
$wt = str_replace(" ","\ ",$wt);
$pn = "42";
ob_start();
passthru('/usr/bin/python2.7 /var/www/cronjobs/test.py ' . "$pn " . "$wt");
$output = ob_get_clean();
在test.py中我有:
import sys
id = sys.argv[1]
text = sys.argv[2]
如果我删除sys.argv [2]行它工作正常,我甚至可以自己传递带空格的字符串。
无法看到我做错了什么。
答案 0 :(得分:1)
你正在逃避这一行的字符串:
$wt = str_replace(" ","\ ",$wt);
这意味着没有第二个参数。停止转义字符串,它应该可以工作。