2010-09-24 40 views

回答

3

您可以使用Python OS module。你可以通過調用運行任何腳本

os.system('php -f file.php') 

這個問題將得到從PHP到Python的返回值。

+3

不應該使用'os.system'; 'subprocess'模塊取代它。 – habnabit 2010-09-24 07:33:03

+1

我不知道?這是爲什麼 ? – sheki 2010-09-24 08:09:30

+2

'subprocess'實現了更多功能和安全檢查。如果你有一個完全靜態的(硬編碼)命令,'os.system'可以正常工作,但是如果你有參數等,這是一個巨大的安全隱患。 – gahooa 2011-09-22 01:36:51

14

你可以窺視subprocess類,更具體地說,subprocess.call()

subprocess.call(*popenargs, **kwargs) 

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

'TypeError'; 'subprocess.call'接受一個字符串列表作爲它的第一個參數。 – habnabit 2010-09-24 07:32:37

+0

@habnabit注意方括號。我們使用命令和參數來創建一個元組。例如: 'cmd =「php sandwiches.php --param yum」; subprocess.call(cmd.explode());' – AWrightIV 2013-03-04 23:24:46

+2

@AWrightIV請參閱http://stackoverflow.com/posts/3784156/revisions(另外,字符串沒有'explode'方法,方括號使列表,而不是元組) – habnabit 2013-03-22 06:05:09