-3

execPHPスクリプトからPythonスクリプトを呼び出す関数を使用します。Pythonは、PHPスクリプトで必要な2つの文字列を標準出力に書き込みます。問題は、これらの文字列に行末文字が含まれる可能性があり\n(したがって、正式には出力に多くの行が含まれる)、exec手動配列によれば$output、各行が含まれることです。必要な2つの文字列のみが含まれ、これら2つの文字列の後処理が不要になる\nように、文字をエスケープするエレガントな方法は何ですか?$output

編集:Pythonスクリプトを変更できます。

4

2 に答える 2

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 に答える
2

Pythonスクリプトの出力方法を変更する以外に、これについてできることは何もありません。

ただし、返されたデータをクリーンアップするのは本当に簡単です。

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