Numpy, Pandas 数据处理
Scipy 科学计算
Matplotlib 可视化
Scikit Learn 机器学习
Keras 深度学习模型
jieba 分词
Gensim 主题(包含了诸如word2vec之类的模型)
requests, bs4 网络爬虫
bottle 网站(单文件版的迷你框架)
multiprocessing 并行
tqdm 进度条 for i in tqdm(range(1000)): sleep(0.01)
retry 重试,@retry()
#backoff=1, jitter=0, , logger=retry.logging @retry.retry(exceptions=Exception, tries=5, delay=5, backoff=1, max_delay=10) #定义一个重试修饰器,默认重试一次 def retry(num_retries=1, delay=2, random_sec_max=3): #用来接收函数 import time import numpy as np def wrapper(func): #用来接收函数的参数 def wrapper(*args,**kwargs): #为了方便看抛出什么错误定义一个错误变量 #last_exception =None #循环执行包装的函数 for _ in range(num_retries): try: #如果没有错误就返回包装的函数,这样跳出循环 return func(*args, **kwargs) except Exception as err: #捕捉到错误不要return,不然就不会循环了 #last_exception = e #np.random.randint(0,random_sec_max+1,size=10) time.sleep(delay + np.random.random()*random_sec_max) print(err) else: #如果要看抛出错误就可以抛出 # raise last_exception raise 'ERROR: 超过retry指定执行次数!!' print('未执行参数为:', *args, **kwargs) return wrapper return wrapper
logging 日志
timeit 小段代码执行时间