我試圖從我的控制器執行Python腳本。在我的控制器目錄中,我創建了一個名爲pythonScripts的文件夾,其中放置了我的腳本。從我的控制器函數中,我從數據庫獲取數據,使用json格式,並將它傳遞給python以創建網絡,然後使用networkx對網絡進行一些分析。問題是我無法執行腳本。以下是我用於運行腳本的代碼。從Laravel 4控制器執行Python腳本
$output = array();
exec("/pythonScripts/createNetwork.py '{$connections}' ", $output);
return json_encode($output);
其中$connections
是關於用戶與其他用戶的連接的JSON數據。
在python腳本中,此刻,我只打印出傳入的任何內容,以查看腳本是否正在執行,但作爲回報,我得到一個空數組[]。以下是我的python腳本。
import json
import networkx as nx
import sys
from networkx.readwrite import json_graph
def main():
userJSONData = sys.argv[1] #the JSON format of user data will be passed into this script.
print userJSONData
if __name__ == '__main__':
main()
我不能告訴腳本是否正在執行......任何幫助?
無關:解析JSON data:'data = json.loads(sys.argv [1])' – jfs