Flask中主动抛出异常,统一异常处理

在开发时,后台出现异常,但不想把异常显示给用户或者要统一处理异常时,可以使用abort主动抛出异常,再捕获异常返回美化后的页面。主动抛出异常:@user.route('/testError')def testError():    print ('testError')    abort(404)使用装饰器errorhandler捕获异常:@user.errorhandler(404)def er...

阅读全文

Python3之shutil模块

shutil是高级的文件,文件夹,压缩包处理模块,我们来看看有哪些使用方法1.拷贝文件内容到另外一个文件shutil.copyfileobj(fsrc,fdst[,length])import shutilshutil.copyfileobj(open('test.txt', 'r', encoding='utf-8'), open('test.log', 'w', encoding="utf-8...

阅读全文

Python startswith函数与endswith函数使用介绍

函数:startswith()作用:判断字符串是否以指定字符或子字符串开头一、函数说明语法:string.startswith(str, beg=0,end=len(string))或string[beg:end].startswith(str)参数说明:string:  被检测的字符串str:      指定的字符或者子字符串。(可以使用元组,会逐一匹配)beg:    设置字符串检测的起始位置(可选)e...

阅读全文

Python查找目录下指定类型后缀的文件

常用的小功能,收集目录下的图片,并将图片转成base64对象具体代码如下:#!/usr/bin/python3#coding:utf-8import osimport base64def file_list(path):    files = []    d = os.walk(path)    for parent,&nbs...

阅读全文

Flask生成下载文件

最近遇到一个需求,就是要生成csv或者是excel,然后提供下载,当时不是提前就备好了下载列表,而是需要根据需求来生成,之前也写过一个类似的php的笔记:http://sulao.cn/post/399.html好了,我们还是来看看flask的下载文件是如何实现的1.通过send_from_directory方法返回真实的文件from flask import Flask,request,send_from_directoryimport csvimport json@tools.route...

阅读全文

Win10安装Scrapy报错的解决方法

今天想测试下爬虫框架,于是就pip进行安装发现报错,看下面提示error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools看上面感觉好像是需要安装v...

阅读全文

Python异步IO(协程)asyncio使用介绍

通常在Python中我们进行并发编程一般都是使用多线程或者多进程来实现的,对于计算型任务由于GIL的存在我们通常使用多进程来实现,而对与IO型任务我们可以通过线程调度来让线程在执行IO任务时让出GIL,从而实现表面上的并发。其实对于IO型任务我们还有一种选择就是协程,协程是运行在单线程当中的“并发”,协程相比多线程一大优势就是省去了多线程之间的切换开销,获得了更大的运行效率。Python中的asyncio也是基于协程来进行实现的。我们先来看如何创建协程和task任务import asyncioasync def te...

阅读全文

python递归介绍

巩固下python基础知识,给大家介绍下递归并配上自己的例子,百度看别人说的很好,递归的概念和特点介绍等等就直接copy过来了递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是十分,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:1.递归就是在过程或函数里调用自身2.在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。3.递归算法解题通常显得很简洁,但递归算法解题的运行效率较低,所以一般不提倡用递归算法设计程序。4.在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储,递归次数过多容易造...

阅读全文

Python3枚举类型详解

补一下python基础知识,枚举类型的详解,以及python中枚举的方法。首先我们需要知道什么叫枚举,以下我个人总结枚举一般就是把一个集合中对象一个个列举出来例如python中字典可以利用键值的关系枚举enum1 = {    "name":"yang.su",    "pickname":"merci",    "...

阅读全文

Python多进程/多线程锁Lock的使用实例详解

之前的笔记讲的过程中一般都是使用queue队列来进行线程或者进程间进行通信或者资源的调配,但是我们大部分多进程和多线程的场景还是需要用到进程锁和线程锁,直接上例子,例子还是之前的csv模块用法的笔记:http://sulao.cn/post/597.html,还有python3进程间通信queue的用法http://sulao.cn/post/616.html这两个笔记的例子上改的,非百度copy的例子多进程代码实例:#!/usr/bin/python3#coding:utf-8from multiprocessing imp...

阅读全文