2016-06-19 17 views
1

Ich habe ein Python-Skript, das eine Python-Funktion in sich hat und Funktion nimmt einen Parameter. Jetzt möchte ich die Python-Funktion ausführen. und der Parameter wird von PHP gegeben. Python-Datei befindet sich jedoch in einem anderen Verzeichnis.Wie kann ich eine Python-Funktion (die einen Parameter benötigt) von PHP ausführen?

Ex: PHP ist in site/ph Verzeichnis und Python ist in site/pyt Verzeichnis

Bitte Jungs mir helfen die Python von PHP auf Ausführen Ich schätze Ihre Hilfe

+0

Sie Socket-Kommunikation zwischen ihnen verwenden können. Lesen Sie diese http://stackoverflow.com/questions/5965655/communication-between-php-and-python –

Antwort

0

Betrachten Sie den PHP-Parameter als Kommandozeilen-Argument übergeben in Python mit PHP exec(). Dann haben Python erhalten sie mit ihrer sys.argv Liste:

PHP Script (Anmerkung: $ output ist ein Array und $ return_var ein Skalar ist, 0 oder anderweitig):

$arg = "argument 1"; 
exec('python "/site/pyt/Script.py" "'.$arg.'"', $output, $return_var); 

// PYTHON OUTPUT 
echo "return value is: $return_var" . "\n"; 

foreach ($output as $line) { 
    echo $line."\n"; 
} 

Python Script (Anmerkung: sys.argv ist eine Liste mit Dateinamen des Skripts als erstes Argument)

import sys 

# RECEIVING COMMAND LINE ARG 
php_param = sys.argv[1] 

def somefunction(p): 
    print("PHP Paramter: {}".format(p)) 

somefunction(php_param) 

Output(wenn PHP-Skript ausgeführt wird)

# return value is: 0 
# PHP Paramter: argument 1