本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python的logging模块提供了灵活的标准模块,使得任何Python程序都可以使用这个第三方模块来实现日志记录.python logging 官方文档 logging框架中主要由四个部分组成: Loggers: 可供程序直接调用的接口 Handlers: 决定将日志记录分配至正确的目的地 Filters:…
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python 中 logging 日志模块在多进程环境下的使用 使用 Python 来写后台任务时,时常需要使用输出日志来记录程序运行的状态,并在发生错误时将错误的详细信息保存下来,以别调试和分析.Python 的 logging 模块就是这种情况下的好帮手. logging 模块可以指定日志的级别,DEBUG.INFO.WARNING.ERROR.CRITICAL,例如可以在…
Python 入门之 内置模块 -- re模块 1.re 模块 (1)什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 元字符 匹配内容 \w 匹配字母(包含中文)或数字或下划线 \W 匹配非字母(包含中文)或数字或下划线 \s 匹配任意的空白符 \S 匹配任意非空…
Python 入门之 内置模块 -- collections模块 1.collections -- 基于Python自带的数据类型之上额外增加的几个数据类型 from collections ​ 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和OrderedDict以及判断什么是可迭代对象什么是迭代器 (1)namedtuple 生成可以使用名字来访问…
Python 入门之 内置模块 -- hashlib模块 1.hashlib 摘要算法,加密算法 (1)主要用途: <1> 加密 : md5 sha1 sha256 sha512 md5,加密速度快,安全系数低 sha512 加密速度慢,安全系数高 <2> 校验 : md5 sha1 sha256 sha512值 import hashlib (2)hashlib的特征以及使用要点: <1> bytes类型数据 ---> 通过hashlib算法 ---> 固…
Python 入门之 内置模块 -- sys模块 1.sys模块 sys模块是与python解释器交互的一个接口 print(sys.path) #模块查找的顺序 print(sys.argv) # 命令行参数List,第一个元素是程序本身路径 只能在终端执行 print(sys.modules) # 查看加载到内存的模块 print(sys.platform) # 查看当前操作系统平台 mac - darwin win - win32 print(sys.version) # 查看当前解释器的…
Python 入门之 内置模块 -- os模块 1.os os是和操作系统做交互,给操作发指令 os模块是与操作系统交互的一个接口,它提供的功能多与工作目录,路径,文件等相关 (1)工作路径 print(os.getcwd()) # 获取当前文件工作的路径 *** os.chdir("D:\Python_s25\day16") # 路径切换 ** print(os.getcwd()) print(os.curdir) #返回当前目录: ('.') print(os.pardir) #获…
Python 入门之 内置模块 -- 序列化模块(json模块.pickle模块) 1.序列化 Python中这种序列化模块有三种: ​ json模块 : ​ 不同语言都遵循的一种数据转化格式,即不同语言都使用的特殊字符串.(比如Python的一个列表[1, 2, 3]利用json转化成特殊的字符串,然后在编码成bytes发送给php的开发者,php的开发者就可以解码成特殊的字符串,然后在反解成原数组(列表): [1, 2, 3]) ​ json序列化只支持部分Python数据结构:dict,l…
Python 入门之 内置模块 -- random模块 1.random模块 import random # random -- 随机数 (1)选择1-50之间随机的整数 print(random.randint(1,50)) (2)0-1 之间随机小数,不包含1 print(random.random()) (3)1- 10 之间随机小数,不包含10 print(random.uniform(1,10)) (4)从容器中随机选择一个 print(random.choice((1,2,3,4,5…
Python 入门之 内置模块 -- datetime模块 1.datetime模块 from datetime import datetime (1)datetime.now() 获取当前时间和日期 print(datetime.now()) # 获取当前时间 (2)获取指定时间和日期 dt = datetime(2018,5,20,13,14) print(dt) (3)指定时间 current_time = datetime.datetime.now() print(current_tim…