最新HTML網頁教你呼叫本地Python程式
首先宣告,在HTML中呼叫本地Python程式是十分不推薦的,一是因為網頁呼叫本地程式的許可權正在被取消,二是因為真不如JS寫直接,三是隻能在自己本地呼叫。
但如果你要用,像我一樣,需要在課堂上進行一個Python程式碼的展示,並且想要一個好看的UI介面的話,可以這樣來做,做起來還是很容易的,但這樣的展示僅限於需要彈框的,比如我的人臉檢測是彈窗式,如果需要內嵌在網頁內部的話是不行的。
我所使用的環境是 windows+python3+chrome
1、編寫你的python程式碼
我們就先寫一個簡單的hello world!吧,新建一個py檔案,寫入程式碼:
print('hello world!') 2、編寫你的HTML程式碼
完整程式碼在後面,其中的重點部分在於java指令碼中寫的一個函式(function exec1),你不用改,後面呼叫了這個函式。你只需要修改你需要執行的檔名,下面就是呼叫的方法:
exec1('python hello.py') # 括號內的意義是 用 python 來執行 hello.py 這個檔案,!注意python是已經新增到環境變量了的。 # 執行python程式一般有兩個exe方法,一個是直接的python,另一種是pythonw,兩者的區別是:用python執行會先開啟一個命令列的黑窗,而pythonw不會彈出黑窗(比如你要執行一個輸出的程式,就沒法顯示出來了) # or use this exec1('cmd') # 括號內的意義是 直接執行 cmd 這個可執行檔案。同理你把python檔案打包成exe檔案也是可以直接採用這種方法的。 啟動IE核心後,會在本地產生一個資料夾,我也是在執行時發現的,我的是在C:\Users\Jerry\AppData\Local\IE Tab\11.4.23.1。你也可以使用絕對路徑,但要注意Windows下是用的雙斜線,不然也是無法執行的。
新建一個html檔案,完整程式碼在這裡:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script language="javascript"> function exec1(command) { var ws = new ActiveXObject("WScript.Shell"); ws.run(command); } </script> </head> <body> <div id="header"> <h1>簡單呼叫python</h1> </div> <div id="nav"> 簡單呼叫python <a href="hello_world.py" target="show"> 程式碼 </a> <input type="button" value="執行 python" onclick="exec1('python')" /> <!--呼叫python在這裡--> <br/> </div> <div id="section"> <h2>程式碼框 </h2> <iframe name="show" id="show" width="1100" height="466"/> </div> </body> </html>
---------------------