2010-09-24 20 views

Antwort

3

können Sie die OS module Python verwenden. Sie können jedes Skript durch Aufruf von

ausführen Das Problem wäre, Rückgabewerte von PHP nach Python hier.

+3

'os.system' sollte niemals verwendet werden; das 'subprocess' Modul ersetzt es. – habnabit

+1

Ich wusste das nicht? Warum das ? – sheki

+2

'subprocess' implementiert viele weitere Funktionen und Sicherheitsprüfungen. "os.system" funktioniert gut, wenn Sie einen vollständig statischen (hartcodierten) Befehl haben, aber wenn Sie Argumente usw. haben, ist dies ein großes Sicherheitsrisiko. – gahooa

14

Sie in die subprocess Klasse aussehen kann, genauer gesagt, subprocess.call()

subprocess.call(*popenargs, **kwargs) 

subprocess.call(["php", "path/to/script.php"]); 
+0

'TypeError'; 'subprocess.call' nimmt eine Liste von Strings als erstes Argument. – habnabit

+0

@habnabit Beachten Sie die eckigen Klammern. Wir machen ein Tupel mit dem Befehl gefolgt von den Argumenten. Zum Beispiel: 'cmd =" ​​php sandwichs.php --param yum "; subprocess.call (cmd.explode()); ' – AWrightIV

+2

@AWrightIV siehe http://stackoverflow.com/posts/3784156/revisions (auch, Strings haben keine' explode' Methode und eckige Klammern machen Listen, nicht Tupel) – habnabit