導航:首頁 > 編程語言 > php調用python文件

php調用python文件

發布時間:2022-07-27 13:55:00

A. 程序小白,問一下php網站想要運行python文件需要怎麼做

關於PHP調用Python數據傳輸問題
這是以前大學時做項目出現的問題,現在把它挪上來,希望給遇到問題的未來大佬給出一些小的思路,請大佬們不要大意的幫我改正,如果出現問題或者有更好的解決方法,希望大家可以給出,謝謝!
以前小組開展項目實訓,我們小組選擇的是大數據分析,其中有一個用python進行文本分析之後對用戶輸入的數據進行分析,然後輸出對應的崗位及其他。要求是前端將文本要求傳到後台php,php調用python程序處理,再將數據傳給php,然後再傳到前端,進行下一步處理。結果python傳回的數據,在前端顯示亂碼了,而且得出的結果與單獨運行python代碼完全不同,一句話,就是php調用python程序期間出錯了。
我很認真的檢查了好幾遍,確定自己php和python所有的編碼都是用的utf-8編碼,所以這一點是毋庸置疑的,那麼問題究竟出在哪呢?php調用python語句是
$job = "有責任心,擅長JAVA";//傳入的文本信息
$area = 'E:/text/sim_str.py';//Python程序的地址
$cmd = system("python3 $area 2>C:/Users/Administrator/Desktop/2.txt $job",$ret);//2>是將報錯內容定位到這個文件,$ret是一個返回參數,0是正常,1是出錯。

最後經過多次的測試,我發現傳過去時對文字的編碼出現了問題,應該不是UTF-8編碼了。有位大神說,這是因為windows系統會自己對傳輸的信息進行再次編碼。然後 我想直接改編碼,結果這個python3編碼改變出現了問題。最後我的解決方案是不通過系統傳送,而是直接通過第三方資料庫。雙方都調用資料庫。一切都可以解決了。
PS:後來又遇見過這種問題,我將python代碼進行了修改,讓它最終可以直接只傳遞數字,再在前端對數字進行判斷。

B. php調用python時python可以一直運行嗎

如果你有伺服器許可權的話直接exec命令調用python命令行就行了
php文件:test.php

123456

<?php exec("python hw.py",$array,$ret); echo("result: "); print_r($array); echo("return value: ".$ret);?>

py文件:hw.py(與php同一目錄)

1

print ("Hello World");

php執行結果:
result: Array ( [0] => Hello World ) return value: 0

C. 如何實現在PHP中調用Python並獲取運行結果

Python的import包含文件功能就跟PHP的include類似,但更確切的說應該更像是PHP中的require,因為Python里的import只要目標不存在就報錯程序無法往下執行。要包含目錄里的文件,PHP中只需要給對路徑就OK。Python中則不同,下面來看看這個例子。

D. php調用python

py和php放在同一個目錄下面


some.py
------------------------------------------
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys

def do_some(a):
return "dosome:%s" % a

if __name__ == '__main__':
a = sys.argv[1]
if a:
T = do_some(a)
print T

-------------------------------------------
t.php

<?php
$k = $_REQUEST['k'];
if (!empty($k))
{
$k = trim($k);
// $a = array();
// exec('python ./some.py '.$k, $a);
// echo $a[0];
passthru('python ./some.py '.$k);
}

然後瀏覽器裡面輸入

瀏覽器會返回dosome:test

被我注釋掉的代碼也可以用來替代passthru
裡面的$a 用來捕獲輸出 不過束腰注意的是 這里的arry 他是按照每一行' '當作一個元素
但是passthru 則是你python里的print的原樣輸出

E. phpnow中如何調用python

PHP和Python/Ruby的運行機制有一個本質區別:PHP是每次HTTP請求過來以後,初始化全部資源(例如創建資料庫鏈接、載入系統類庫,創建緩存等等),處理完畢,釋放全部資源,這不像Python/Ruby之類帶有GC的腳本語言,Python/Ruby是初次啟動的時候初始化資源,隨後的請求就不必再次初始化資源了。

F. 如何在PHP伺服器里運行python腳本

python環境在小鳥雲雲伺服器裝好後,就有一個idle工具,你找一下安裝目錄,自帶的編輯器,在任意目錄新建一個
aa.py
文件,用記事本和idle工具都行,輸入print("hello
world"),如果你使用的是idle,直接按f5,就能查看結果,如果用記事本,打開cmd,進入這個目錄,輸入命令python
aa.py就出來結果了。

G. php 執行python腳本的時候 已經安裝python模塊能正常使用么

一般是環境變數問題,你的執行一個sh的set命令看看結果吧。
解決辦法,在sh文件裡面設置好環境變數再調用python腳本。

H. 怎麼在php代碼中調用python程序

py和php放在同一個目錄下面some.py------------------------------------------#!/usr/bin/env python#-*- coding:utf-8 -*-import sysdef do_some(a):return "dosome:%s" % aif __name__ == '__main__':a = sys.argv[1]if a:T = do_some(a)print T-------------------------------------------t.php<?php$k = $_REQUEST['k'];if (!empty($k)){$k = trim($k);// $a = array();// exec('python ./some.py '.$k, $a);// echo $a[0];pa

I. 如何用php通過root調用python文件控制樹莓派的IO口

可以使用python製作api介面,然後php通過介面去進行相關的操作。這也是目前最完美的解決跨平台控制的方法。

閱讀全文

與php調用python文件相關的資料

熱點內容
電腦感染exe文件夾 瀏覽:914
wpsppt怎麼轉pdf格式 瀏覽:86
騰訊文檔在線編輯怎麼添加密碼 瀏覽:868
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664
雲伺服器app安卓下載 瀏覽:966
如何查看linux伺服器的核心數 瀏覽:137
交易平台小程序源碼下載 瀏覽:148
程序員記筆記用什麼app免費的 瀏覽:646
java與單片機 瀏覽:897
伺服器內網如何通過公網映射 瀏覽:478
程序員穿越到宋代 瀏覽:624
怎麼使用雲伺服器掛游戲 瀏覽:618
真實的幸福pdf 瀏覽:345
d盤php調用c盤的mysql 瀏覽:266
怎麼樣搭建源碼網站 瀏覽:430