📅  最后修改于: 2023-12-03 15:09:03.609000             🧑  作者: Mango
Python 是一门简洁而优美的编程语言,开发者可以使用它来构建各种应用程序,包括网站。本文将介绍如何在网站中运行 Python 脚本。
一种常见的方法是使用 CGI(通用网关接口)协议。简单来说,CGI 可以让 Web 服务器通过命令行向操作系统请求执行某个脚本,并接收脚本运行后的输出。Python 自带了许多 CGI 模块,你可以使用它们来编写 CGI 脚本。
以下是 Python CGI 脚本的例子。
#!/usr/bin/python
print("Content-Type: text/html") # HTTP header
print() # blank line, end of headers
print("<html><body>")
print("<h2>Hello World!</h2>")
print("</body></html>")
这个脚本输出一个 HTML 页面。注意,第一行指定了 Python 解释器的路径,第二行输出了 HTTP header,紧接着一个空行,然后是页面主体。
为让脚本能够被 Web 服务器调用,需要将其放置到 Web 服务器允许执行 CGI 脚本的目录下。对于 Apache,通常是 /usr/lib/cgi-bin/ 或 /var/www/cgi-bin/。
CGI 虽然简单易懂,但却不是很高效。如果你在开发一个大型 Web 应用程序,建议使用 WSGI(Web 服务器网关接口)协议。
WSGI 是一个 Python 标准,它定义了 Web 服务器和 Python Web 应用程序之间的接口。服务器通常会启动一个 Python 进程来接收请求,同时与应用程序通过 WSGI 接口进行交互,以便将请求传递给应用程序并获取响应结果。
以下是使用 Flask 构建 Web 应用程序的例子。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "<h1>Hello World!</h1>"
if __name__ == "__main__":
app.run()
这个程序创建了一个简单的 Flask 应用程序,当用户在浏览器中访问 http://localhost:5000/ 时,它将返回一个 HTML 页面。运行时输出类似于以下内容。
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
本文介绍了在网站中运行 Python 脚本的两种方法:CGI 和 WSGI。如果你需要一个简单的 Web 应用程序,可以使用 CGI。如果你需要一个高效和可扩展的 Web 应用程序,则建议使用 WSGI 并结合 Flask 或其他 Python Web 框架。