php 呼叫 python指令碼的方法

2021-07-30 02:48:51 字數 963 閱讀 7947

需求產生原因:某些使用php作為後台語言的**可能會有呼叫python等指令碼語言的需求.例如我最近在做的資料處理工作       中,由於所需處理的文字數目過大,難以人工分類,所以需要乙個文字分類函式,接受傳入的文章輸出文章應       有的分類. 然而php卻沒有可靠的實現方法. 這時,就需要php呼叫python等指令碼輔助處理.

解決辦法:php提供了許多呼叫其他指令碼或程式的方法,比如exec/system/popen/proc_open/passthru等,每種方法都有適用       的情景.對於我的需求,exec/system/passthru是較好的選擇

1. exec

原型:string exec ( string command [, array &output [, int &return_var]] )

描述:返回值儲存最後的輸出結果,而所有輸出結果將會儲存到$output陣列,$return_var用來儲存命令執行的狀態碼(用來檢測成功或失敗)。

例子:$ret = exec("ls -al", $output, $var);

注意:輸出結果會逐行追加到$output中,因此在呼叫exec之前需要unset($output),特別是迴圈呼叫的時候。

2. system

原型:string system ( string command [, int &return_var] )

描述:執行給定的命令,返回最後的輸出結果;第二個引數是可選的,用來得到命令執行後的狀態碼。

例子:$ret = system("ls -al", $var);

3. passthru

原型:void passthru (string command [, int return_var])

描述:執行給定的命令,但不返回任何輸出結果,而是直接輸出到顯示裝置上;第二個引數可選,用來得到命令執行後的狀態碼。

例子:passthru("ls -al", $var);

參考文件: 

php傳參呼叫python指令碼

由於我的 專案的後端採用的是php 但是在爬蟲方面的時候 python是最簡單的選擇 因此需要php與python進行互動 需求是要帶引數的 例如自動登入某個 而使用者密碼是不同的 查閱資料得知 php有這個函式exec 這個函式的作用可以執行第三方程式 約等於在shell命令列中輸入指令 約等於c...

win 10 php呼叫python指令碼

使用php作為後台語言的 可能會有呼叫python等指令碼語言的需求,比如在做資料處理。現在假設你已經有了乙個可以執行php指令碼和解釋python指令碼的伺服器環境 下面是乙個簡單的示例 首先,執行php指令碼,利用shell exec 方法,它可以在php中執行python指令碼 shell e...

php指令碼呼叫python類方法示例

php指令碼 呼叫debug.py檔案中的test1方法 cmd python d python debug.py test1 p1 p2 2 1 data exec cmd,array,return var dump data,return debug.py檔案 usr bin env pytho...