如何在Web服务器(例如localhost)上运行Python脚本

mun*_* pk 5 python

在开发Android和Java应用程序时,我一直在使用PHP脚本与在线MySQL数据库进行交互,但是现在我想迁移到Python。

如何在网络服务器上运行Python脚本?根据我使用PHP的经验,我一直将文件保存/var/www在Linux环境中的文件夹下。然后,我稍后使用路径的URL调用文件。我在哪里保存Python脚本?

shs*_*ank 6

您可以使用 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 发行版。

希望有帮助。


pvo*_*ten 1

使用 CherryPy、Django、Webapp2 等 Web 应用程序框架或许多其他框架之一。对于生产设置,您需要配置 Web 服务器才能使其正常工作。

或者用Python编写CGI程序。