在开发Android和Java应用程序时,我一直在使用PHP脚本与在线MySQL数据库进行交互,但是现在我想迁移到Python。
如何在网络服务器上运行Python脚本?根据我使用PHP的经验,我一直将文件保存/var/www在Linux环境中的文件夹下。然后,我稍后使用路径的URL调用文件。我在哪里保存Python脚本?
您可以使用 Flask 来运行 Web 应用程序。
下面的简单 Flask 应用程序将帮助您入门。
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/sampleurl' methods = ['GET'])
def samplefunction():
#access your DB get your results here
data = {"data":"Processed Data"}
return jsonify(data)
if __name__ == '__main__':
port = 8000 #the custom port you want
app.run(host='0.0.0.0', port=port)
Run Code Online (Sandbox Code Playgroud)
现在,当您点击时,http://your.systems.ip:8000/sampleurl您将收到一个 json 响应供您的移动应用程序使用。
在该函数中,您可以执行数据库读取或文件读取等操作。
您还可以添加如下参数:
@app.route('/sampleurl' methods = ['GET'])
def samplefunction():
required_params = ['name', 'age']
missing_params = [key for key in required_params if key not in request.args.keys()]
if len(missing_params)==0:
data = {
"name": request.argv['name'],
"age": request.argv['age']
}
return jsonify(data)
else:
resp = {
"status":"failure",
"error" : "missing parameters",
"message" : "Provide %s in request" %(missing_params)
}
return jsonify(resp)
Run Code Online (Sandbox Code Playgroud)
要运行此操作,请将烧瓶应用程序保存在文件中,例如myapp.py
然后从终端运行python myapp.py
它将在端口 8000(或您指定的端口)上启动服务器。
Flask 的内置服务器不建议用于生产级别。当您对应用程序感到满意后,您可能想研究一下Nginx + Gunicorn + Flask系统。
有关烧瓶的详细说明,您可以查看此答案。它是关于在 Raspberry pi 上设置网络服务器,但它应该适用于任何 Linux 发行版。
希望有帮助。
使用 CherryPy、Django、Webapp2 等 Web 应用程序框架或许多其他框架之一。对于生产设置,您需要配置 Web 服务器才能使其正常工作。
或者用Python编写CGI程序。