python flask 通过页面输入python代码,执行结果返回页面
发布人:shili8
发布时间:2025-01-11 07:52
阅读次数:0
**Python Flask代码执行器**
在本文中,我们将创建一个简单的 Python Flask 应用程序,它允许用户通过网页输入 Python代码,然后执行该代码并显示结果。
### **依赖安装**
首先,我们需要安装所需的依赖项:
bashpip install flask
### **应用程序结构**
我们的应用程序将包含以下文件和目录:
* `app.py`: Flask 应用程序源码。
* `templates/`: 模板目录,用于存放 HTML 文件。
### **app.py**
from flask import Flask, render_template, requestapp = Flask(__name__) # 模板路径template_path = 'templates/' @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': # 获取用户输入的 Python代码 code = request.form['code'] try: # 执行用户输入的 Python代码 result = eval(code) # 如果执行成功,则显示结果 return render_template('result.html', result=result) except Exception as e: # 如果执行失败,则显示错误信息 return render_template('error.html', error=str(e)) # 如果是 GET 请求,则返回 index.html 模板 return render_template('index.html') if __name__ == '__main__': app.run(debug=True)
### **templates/index.html**
html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Python代码执行器</title> </head> <body> <h1>Python代码执行器</h1> <form method="POST"> <textarea id="code" name="code" rows="10" cols="50"></textarea> <input type="submit" value="执行"> </form> </body> </html>
### **templates/result.html**
html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>结果</title> </head> <body> <h1>执行结果:</h1> <p>{{ result }}</p> </body> </html>
### **templates/error.html**
html<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>错误信息</title> </head> <body> <h1>执行失败:</h1> <p>{{ error }}</p> </body> </html>
### **运行应用程序**
在终端中,使用以下命令启动应用程序:
bashpython app.py
然后,在浏览器中访问 ` 即可看到应用程序的首页。
**注意:**
* 这个应用程序仅供学习和测试目的使用,不建议用于生产环境。
* 使用 `eval()` 函数执行用户输入的 Python代码可能存在安全风险,因为它可以执行任意 Python语句。因此,应谨慎使用此功能,并在实际应用中尽量避免使用 `eval()`。
希望这个示例能够帮助您理解如何创建一个简单的 Python Flask 应用程序来执行用户输入的 Python代码。