Python Thread

今天看到这篇文章,关于多线程编程的,感觉这篇文章讲得挺好的。文章在这里

这篇文章一开始讲了一个生产者消费者的多线程的模型,生产者往队列里添加任务,消费者从队列里取出任务去执行。多线程就相当于多个消费者同时从这个队列里取出任务去完成。

这篇文章讲到了用线程池

from multiprocessing import Pool
pool = Pool()
pool.map(urllib2.urlopen, urls ...
more ...

Python Logging模块

logger的Level

logger.setLevel()

设置logger的level,level有以下几个级别 NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL 如果把looger的级别设置为INFO, 那么小于INFO级别的日志都不输出, 大于等于INFO级别的日志都输出

logger的处理器

logger.addHandler()

logger可以雇佣handler来帮它处理日志, handler主要有以下几种:

  • StreamHandler ...
more ...

Python命令行编程库——argparse

这篇文章是基本上是Python Doc[https://docs.python.org/2/howto/argparse.html#id1]的翻译与总结

添加参数

定位参数(position argument)

import argparse
parser = argparse ...
more ...

dlib to face align using python

人脸特征点检测

predictor_path = 'path/to/shape_predictor_68_face_landmarks.dat'
img = 'the/face/you/want/to/predict'

detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor(predictor_path ...
more ...

Python小技巧

创建目录

os.mkdir( path [,mode] )

作用:创建一个目录,可以是相对或者绝对路径,mode的默认模式是0777。 如果目录有多级,则创建最后一级。如果最后一级目录的上级目录有不存在的,则会抛出一个OSError

os.makedirs( path [,mode] )

作用: 创建递归的目录树 ...

more ...

Python画柱状图

统计数组频数的方法

import numpy as np
def GetBarFrequency(arr, barTotal, minNum = None, maxNum = None):
    #没有自定义最大最小值则用数组计算最大最小值
    if not maxNum:
        maxNum = max(arr ...
more ...

Python读取文本

读取文件

Python 将文本文件的内容读入可以操作的字符串变量非常容易。文件对象提供了三个“读”方法: .read().readline().readlines()

.read().readlines()都是读取整个文件的,对于大文件来说,一次性将大文件放到内容比较吃力,可以用 .readline()一行一行的读入处理。

code ...

more ...