Python问题传递多个参数

时间:2015-03-10 23:58:35

标签: php python

我是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]行它工作正常,我甚至可以自己传递带空格的字符串。

无法看到我做错了什么。

1 个答案:

答案 0 :(得分:1)

你正在逃避这一行的字符串:

$wt = str_replace(" ","\ ",$wt);

这意味着没有第二个参数。停止转义字符串,它应该可以工作。