Python生成并下载文件后端代码实例
txt文件
生成并下载txt文件:
@app.route('/download', methods=['GET']) def download(): content = "long text" response = make_response(content) response.headers["Content-Disposition"] = "attachment; filename=myfilename.txt" return response
运行app.py后,在浏览器中输入:http://127.0.0.1:5000/download,直接下载txt文件。
excel 文件
生成并下载excel 文件:
@app.route("/export",methods = ['GET']) def export(): out = BytesIO() workbook = xlsxwriter.Workbook(out) table = workbook.add_worksheet() table.write(0, 0, "第1列") table.write(0, 1, "第2列") table.write(0, 2, "第3列") table.write(0, 0, "name") table.write(1, 1, "sex") table.write(2, 2, "class") workbook.close() out.seek(0) filename = quote("Entity类下载.xlsx") rv = send_file(out, as_attachment=True, attachment_filename=filename) rv.headers['Content-Disposition'] += "; filename*=utf-8''{}".format(filename) return rv
运行app.py后,在浏览器中输入:http://127.0.0.1:5000/export,可以直接下载excel文件。
前后端分离时,接口返回时要注意headers
def exportExcel(): workbook = xlwt.Workbook(encoding='utf-8') wSheet = workbook.add_sheet("Plan") titleFont = xlwt.Font() f = BytesIO() workbook.save(f) f.seek(0) filename = quote(saveFile) # 将单个字符串编码转化为 %xx%xx 的形式 rv = send_file(f, as_attachment=True, attachment_filename=filename) rv.headers['Content-Disposition'] += "; filename*=utf-8''{}".format(filename) rv.headers['Cache-Control'] = 'no-store' # 重点在这句!!!!!!!!!!!!!!!!! return rv
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
如何利用python web框架做文件流下载的实现示例
hello 大家好, 前不久公司里有个需求,把时序数据库中的日志下载到本地. 大家都知道. 数据库里的数据 都是存在数据库里的(废话). 想把他下载到客户的本地. 有的同学第一反应是: 只有文件才能下载. 所以大多数同学会想到先把数据从数据库中读出来,然后写入到服务器中的某个文件夹下生成文件, 然后再下载. 其实这是非常不效率的方法, 最简单的方法是,我们从数据库中读取到文件后, 直接以流的形式让用户去下载. 这里我拿python flask框架来做例子,其实非常简单,步骤一共有3个 1: 取出
-
python实现从ftp上下载文件的实例方法
python从ftp上下载文件的方法: 首先导入ftp模块: 然后使用[chdir]命令切换工作路径: 再使用"self.ftp.nlst()"命令获取目录下的文件: 最后使用"self.ftp.retrbinary()"命令下载ftp文件即可. #!/usr/bin/python # coding=utf-8 import os from ftplib import FTP # 引入ftp模块 class MyFtp: ftp = FTP() def __init
-
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
1. 目标 通过hadoop hive或spark等数据计算框架完成数据清洗后的数据在HDFS上 爬虫和机器学习在Python中容易实现 在Linux环境下编写Python没有pyCharm便利 需要建立Python与HDFS的读写通道 2. 实现 安装Python模块pyhdfs 版本:Python3.6, hadoop 2.9 读文件代码如下 from pyhdfs import HdfsClient client=HdfsClient(hosts='ghym:50070')#hdfs地址
-
Python selenium文件上传下载功能代码实例
上传 html文件内容如下:操作步骤 <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>upload_file</title> <script type="text/javascript" async="" src="htt
-
Python HTTP下载文件并显示下载进度条功能的实现
下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条. 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: import urllib import requests.packages.urllib3 requests.packages.urllib3.disable_warnings() url = "https://raw.githubusercontent.com/racaljk/hosts/maste
-
Python无头爬虫下载文件的实现
有些页面并不能直接用requests获取到内容,会动态执行一些js代码生成内容.这个文章主要是对付那些特殊页面的,比如必须要进行js调用才能下载的情况. 安装chrome wget [https://dl.google.com/linux/direct/google-chrome-stable\_current\_x86\_64.rpm](https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm) yum
-
Python 给下载文件显示进度条和下载时间的实现
大家在下载文件时能够显示下载进度和时间非常好,其实实现它方法很简单,这里我写了个进度条的模块,其中还附带上了运行时间也就是下载时间了. 该模块调用了三个库: 1.os 2.requests 3.time 话不多说,先上代码!!!. # 进度条模块 def progressbar(url,path): if not os.path.exists(path): # 看是否有该文件夹,没有则创建文件夹 os.mkdir(path) start = time.time() #下载开始时间 respons
-
python3 requests库文件上传与下载实现详解
在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题.同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试. 文件上传: url = ztx.host+'upload/uploadFile?CSRFToken='+self.getCSRFToken()#上传文件的接口地址 header = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko', '
-
python+selenium+chrome批量文件下载并自动创建文件夹实例
实现效果:通过url所绑定的关键名创建目录名,每次访问一个网页url后把文件下载下来 代码: 其中 data[i][0].data[i][1] 是代表 关键词(文件保存目录).网站链接(要下载文件的网站) def getDriverHttp(): for i in range(reCount): # 创建Chrome浏览器配置对象实例 chromeOptions = webdriver.ChromeOptions() # 设定下载文件的保存目录为d盘的tudi目录, # 如果该目录不存在,将会自
-
Python生成并下载文件后端代码实例
txt文件 生成并下载txt文件: @app.route('/download', methods=['GET']) def download(): content = "long text" response = make_response(content) response.headers["Content-Disposition"] = "attachment; filename=myfilename.txt" return respons
-
Python实现多线程下载文件的代码实例
实现简单的多线程下载,需要关注如下几点:1.文件的大小:可以从reponse header中提取,如"Content-Length:911"表示大小是911字节2.任务拆分:指定各个线程下载的文件的哪一块,可以通过request header中添加"Range: bytes=300-400"(表示下载300~400byte的内容),注意可以请求的文件的range是[0, size-1]字节的.3.下载文件的聚合:各个线程将自己下载的文件块保存为临时文件,所有线程都完
-
Python持续监听文件变化代码实例
在日常的工作中,有时候会有这样的需求,需要一个常驻任务,持续的监听一个目录下文件的变化,对此作出回应. pyinotify就是这样的一个python包,使用方式如下: 一旦src.txt有新的内容,程序就可以监控到,然后将内容发送 import socket import pyinotify pos = 0 def send(c): c_list = [c] s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('127
-
PHP下载文件的函数实例代码
通过函数完成下载文件的PHP功能代码 function download($url, $filename) { // 获得文件大小, 防止超过2G的文件, 用sprintf来读 $filesize = sprintf ( "%u", filesize ( $url ) ); if (! $filesize) { return; } header ( "Content-type:application/octet-stream\n" ); //application/
-
python链接sqlite数据库的详细代码实例
一.创建数据库 创建sqlite数据库的代码 import sqlite3 conn = sqlite3.connect("test.db") print("成功创建数据库") 运行代码后左侧文件栏中会出现"test.db"文件, 二.链接数据库 视图->工具窗口->Database 此时编辑器右侧出现Database,点击添加按钮 点击路径选择按钮,找到创建好的"test.db"文件,选中 注意:Download
-
python实现任意位置文件分割的实例
应用场景 在嵌入式开发中,常常需要将一个binary文件分割成多个文件,或者将一个binary的某块区域抓成一个单独文件.本篇blog以python为例,实现了以上需求; 实现代码 #!/usr/bin/python """ ./file_split.py, just for testing; """ import sys import os import re from os.path import join from array import
-
用python生成与调用cntk模型代码演示方法
由于一些原因,视频录制要告一段落了.再写一篇关于cntk的文章分享出来吧.我也很想将这个事情进行下去.以后如果条件允许还会接着做. cntk2.0框架生成的模型才可以支持python.1.0不支持. python可以导入cntk.exe生成的框架,也可以导入python调用cntk生成的框架.举两个例子: 1 .导入cntk.exe生成的框架. from cntk.ops.functions import load_model from PIL import Image import numpy
-
python英语单词测试小程序代码实例
这篇文章主要介绍了python英语单词测试小程序代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 爬取了扇贝英语网,并制作了一个英语单词测试的小程序,还能生成错词本,一起来看下代码吧- import requests #扇贝网爬虫,获取英语单词 category_res=requests.get('https://www.shanbay.com/api/v1/vocabtest/category/?_=1566889802182') ca
-
Python爬取豆瓣视频信息代码实例
这篇文章主要介绍了Python爬取豆瓣视频信息代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quotefrom pyquery import PyQuery as pqimport requestsimport pandas as pddef get_text_page (movie_name)
-
python 实现多线程下载视频的代码
代码: def thread(url): r = requests.get(url, headers=None, stream=True, timeout=30) # print(r.status_code, r.headers) headers = {} all_thread = 1 # 获取视频大小 file_size = int(r.headers['content-length']) # 如果获取到文件大小,创建一个和需要下载文件一样大小的文件 if file_size: fp = op
随机推荐
- Ruby元编程之梦中情人method_missing方法详解
- javascript代码在ie8里报错 document.getElementById(...) 为空或不是对象的解决方法 原创
- php错误提示failed to open stream: HTTP request failed!的完美解决方法
- Android使用Intent启动其他非系统应用程序的方法
- PHP Wrapper在SAE上的应用方法
- python中利用xml.dom模块解析xml的方法教程
- C#超市收银系统设计
- PHP var_dump遍历对象属性的函数与应用代码
- MySQL中Decimal类型和Float Double的区别(详解)
- 深入理解Android中View绘制的三大流程
- node.js实现微信JS-API封装接口的示例代码
- JavaScript实现form表单的多文件上传
- Android实现让图片在屏幕上任意移动的方法(拖拽功能)
- PHP结合Vue实现滚动底部加载效果
- java中的异或问题代码解析
- JavaScript运行原理分析
- Python 异常的捕获、异常的传递与主动抛出异常操作示例
- vbs Windows系统改变或修改网卡的MAC地址的脚本与软件
- 在Linux中使用history命令的方法
- Spring Boot 整合 Shiro+Thymeleaf过程解析