Linux下kill/killall/pkill详解以及它们的区别

killall命令Linux系统中的killall命令用于杀死指定名字的进程(killprocessesbyname)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。1.命令格式killall[参数][进程名]2.命令参数-Z 只杀死拥有scontext 的进程-e 要求匹配进程名称-I 忽略小写-g 杀死进程组而不是进程-i ...

阅读全文

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

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

阅读全文

Flask中使用logging模块记录日志

之前有写一个logging模块的使用方法的笔记:http://sulao.cn/post/615.html,其实在flask中也是使用的这个模块,我们一起来看看简单的使用方法#!/usr/bin/python3#coding:utf-8from flask import Flask,requestimport loggingapp = Flask(__name__)@app.route('/')def index(): &nbs...

阅读全文

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...

阅读全文

Vuejs基础教程

开始折腾vuejs了,基础的先一遍过以下,目前是用的引入vue.js的方式学习,我们来看看一些基础的方法吧v-for方法,这个方法是用来循环渲染数据到dom上,我们来看看例子<div id="app">    <ul>        <li v-for="d in ds" ><a :hre...

阅读全文

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

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

阅读全文