[英]How do I call python program (which has command line arguments) from PHP or Javascript?
My Python Program is, 我的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!")
When I execute this python program on linux shell, it works all great! 当我在linux shell上执行此python程序时,它的效果很好! How do execute this program on certain event from HTML Page (Either using Javascript, AJAX or PHP) ?
如何在HTML页面上的某些事件上执行该程序(使用Javascript,AJAX或PHP)?
You need to embed this code into some Python web server - for example Flask . 您需要将此代码嵌入到某些Python Web服务器中,例如Flask 。
See example bellow - xbee_test.py (it is very raw, don't use that in production environment): 请参阅示例波纹管-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()
Now, when you run this in Python and hit http //localhost:5000/test_data you get your code executed. 现在,当您在Python中运行此代码并点击http:// localhost:5000 / test_data时,您的代码将被执行。
Embedding this into HTML page as eg AJAX call is from this point on uncomplicated. 从此刻起,将其嵌入HTML页面(例如AJAX调用)就不复杂了。
Here is how to obtain Flask installation and run that: 这是获取Flask安装并运行该方法的方法:
$ pip install Flask
$ python xbee_test.py
* Running on http://localhost:5000/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.