簡體   English   中英

如何從PHP或Javascript調用python程序(具有命令行參數)?

[英]How do I call python program (which has command line arguments) from PHP or Javascript?

我的Python程序是

from xbee import ZigBee
import serial
import sys

sPort = serial.Serial("/dev/ttyAMA0", 9600)
xbee = ZigBee(sPort)

targStr = sys.argv[1]
data = str(targStr)
print (data)
destAdd = "\x00\x13\xa2\x00\x40\xa9\xcc\xad"
xbee.send("tx",dest_addr_long=destAdd,dest_addr="\xff\fe",data=data)
print ("Sent!")

當我在linux shell上執行此python程序時,它的效果很好! 如何在HTML頁面上的某些事件上執行該程序(使用Javascript,AJAX或PHP)?

您需要將此代碼嵌入到某些Python Web服務器中,例如Flask

請參閱示例波紋管-xbee_test.py(這很原始,請不要在生產環境中使用它):

from flask import Flask
app = Flask(__name__)

from xbee import ZigBee
import serial

sPort = serial.Serial("/dev/ttyAMA0", 9600)
xbee = ZigBee(sPort)

@app.route("/<data>")
def index(data):
    destAdd = "\x00\x13\xa2\x00\x40\xa9\xcc\xad"
    xbee.send("tx",dest_addr_long=destAdd,dest_addr="\xff\fe",data=data)
    return "Sent!"

if __name__ == "__main__":
    app.run()

現在,當您在Python中運行此代碼並點擊http:// localhost:5000 / test_data時,您的代碼將被執行。

從此刻起,將其嵌入HTML頁面(例如AJAX調用)就不復雜了。

這是獲取Flask安裝並運行該方法的方法:

$ pip install Flask
$ python xbee_test.py
 * Running on http://localhost:5000/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM