有一位朋友希望创建一个网站,可以接受文本文件作为输入,并读取文件中的参数传递给 Python 脚本,最后在页面上输出脚本的执行结果。由于这位朋友只有少量的 Python 编程经验,他寻求了一种简单易行的方法来实现这个项目。
2、解决方案
可以使用 Flask,一个轻量级的 Python Web 框架来解决这个问题。Flask 非常简单、强大且直观,非常适合小型项目。
示例实现
1. 创建 Python 脚本
在文件 script.py 中,编写以下 Python 脚本:
from flask import Flask, render_template
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def index():
return render_template('index.html', message='Hello')
if __name__ == '__main__':
app.run(host='0.0.0.0')
- 这个脚本创建了一个 Flask 应用,并在根路由
/上返回一个简单的 "Hello" 消息。
2. 创建 HTML 模板
在文件 index.html 中,编写以下 HTML 模板:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test</title>
</head>
<body>
{% if message != 'nope' %}
{{ message }}
{% endif %}
</body>
</html>
- 这个模板很简单,它会在页面上显示 "Hello" 消息。
3. 运行应用程序
在命令行中运行以下命令:
python script.py
- 这将启动 Flask 应用程序。
4. 访问网站
在浏览器中访问 http://127.0.0.1:5000,你应该会看到 "Hello" 消息。
文件上传处理
为了实现文件上传处理,可以在 Flask 应用中添加以下代码:
from flask import request
@app.route('/upload', methods=['POST'])
def upload():
if request.method == 'POST':
file = request.files['file']
# 读取并处理文件内容
return 'Success'
- 这段代码可以接收一个名为 "file" 的文件上传。
完整代码
将以上所有代码组合在一起,完整的代码如下:
from flask import Flask, render_template, request
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/upload', methods=['POST'])
def upload():
if request.method == 'POST':
file = request.files['file']
# 读取并处理文件内容
return 'Success'
if __name__ == '__main__':
app.run(host='0.0.0.0')
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test</title>
</head>
<body>
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
</body>
</html>
- 在这个完整的代码中,增加了文件上传表单和处理文件上传的代码。
现在,你就可以使用这个 Flask 应用来实现文件上传并处理了。