-3

我使用exec从 PHP 脚本调用 python 脚本的函数。Python 将我在 PHP 脚本中需要的两个字符串写入标准输出。问题是在这些字符串中可能是行尾字符\n(因此正式输出中有很多行),并且根据exec手动数组$output将包含其中的每一行。什么是转义\n字符的优雅方法,以便$output只包含我想要的两个字符串并且不需要对这两个字符串进行后期处理?

编辑:我可以更改 python 脚本。

4

2 回答 2

2

除了改变 python 脚本的输出方式之外,你真的无能为力。

不过,清理返回的数据真的很容易。

exec('yourcommand', $array);
array_walk($array, function($value, $key) {
    return trim($value);
});
于 2012-09-10T18:15:48.240 回答
2

以易于解析的格式(例如 JSON)打印输出,并从 PHP 解析它。例如,而不是:

print foo
print bar

使用类似的东西:

import json
print json.dumps([foo, bar])

您从 PHP 中读取 JSON 输出并将其解码json_decode($output)为所需的数组。

于 2012-09-10T18:16:23.963 回答