要在Python中搭建文件上传窗口,可以使用第三方库如Flask和Django等,这里以Flask为例,提供完整攻略。
- 安装Flask
可以使用pip命令安装Flask库:
pip install Flask
- 搭建Flask App
使用Flask需要创建一个Flask App,可以在Python文件中使用如下代码创建:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/')
def upload_file():
return render_template('upload.html')
@app.route('/uploader', methods = ['GET', 'POST'])
def upload_file():
if request.method == 'POST':
f = request.files['file']
f.save(f.filename)
return 'file uploaded successfully'
if __name__ == '__main__':
app.run(debug = True)
这段代码创建了一个Flask App,并添加了两个路由:一个用于渲染上传页面(upload.html),另一个用于接收并处理上传的文件。
- 创建上传页面模板
如上述代码所示,上传页面采用了模板技术,需要在项目文件夹下创建upload.html文件,并添加如下内容:
<!doctype html>
<html>
<body>
<form action = "http://localhost:5000/uploader" method = "POST"
enctype = "multipart/form-data">
<input type = "file" name = "file" />
<input type = "submit"/>
</form>
</body>
</html>
- 运行Flask App
在终端中进入创建Flask App所在的目录,并输入如下命令启动Flask App:
python app.py
其中app.py为创建的Flask App所在的Python文件名。
现在,访问http://localhost:5000,上传页面将出现。
已经提供了两条代码示例:
- 上传文件的主要函数处理方法
@app.route('/uploader', methods = ['GET', 'POST'])
def upload_file():
if request.method == 'POST':
f = request.files['file'] #从请求中获取上传的文件
f.save(f.filename) #将上传的文件保存到本地
return 'file uploaded successfully'
- HTML表单元素的使用(上传文件按钮):
<input type = "file" name = "file" />
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 搭建文件上传窗口 - Python技术站