Ich möchte in der Lage sein, ein PHP-Array an ein Python-Skript zu übergeben, das die Daten zur Ausführung einiger Aufgaben verwendet. Ich wollte versuchen, mein Python-Skript aus PHP mit Hilfe von shell_exec() auszuführen und die JSON-Daten dorthin zu übergeben (was ich komplett neu bin).JSON-Daten von PHP an Python übergeben Skript
$foods = array("pizza", "french fries");
$result = shell_exec('python ./input.py ' . escapeshellarg(json_encode($foods)));
echo $result;
Die "escapeshellarg (json_encode ($ Lebensmittel)))" Funktion scheint meine Array zu übergeben, wie das folgende an dem Python-Skript (ich diesen Wert, wenn ich die Funktion 'echo':
'["pizza","french fries"]'
dann innerhalb des Python-Skript:
import sys, json
data = json.loads(sys.argv[1])
foods = json.dumps(data)
print(foods)
Dies druckt die folgende an den Browser aus:
["pizza", "french fries"]
Dies ist eine einfache alte Zeichenfolge, keine Liste. Meine Frage ist, wie kann ich diese Daten am besten wie eine Liste oder irgendeine Art von Datenstruktur behandeln, die ich mit dem "," als Trennzeichen durchlaufen kann? Ich möchte den Text nicht wirklich an den Browser ausgeben, ich möchte nur die Liste in Teile aufteilen und sie in eine Textdatei auf dem Dateisystem einfügen.
In Ihrem Beispiel ('data = json.loads (sys.argv [1])') ** Daten ** ist bereits eine ** Liste **, dann mit 'Dumps 'konvertieren Sie es wieder zurück in a Zeichenfolge – aabilio