当前位置:实例文章 » 其他实例» [文章]python flask 通过页面输入python代码,执行结果返回页面

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代码。

其他信息

其他资源

Top