Python常用的模块

一、logging模块
1、日志级别
CRITICAL = 50 #FATAL = CRITICAL
ERROR = 40
WARNING = 30 #WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0 #不设置
2、默认级别为warning,默认打印到终端
import logging
logging.debug(‘调试debug‘)
logging.info(‘消息info‘)
logging.warning(‘警告warn‘)
logging.error(‘错误error‘)
logging.critical(‘严重critical‘)
输出:
WARNING:root:警告warn
ERROR:root:错误error
CRITICAL:root:严重critical
3、为logging模块指定全局配置,针对所有logger有效,控制打印到文件中
可在logging.basicConfig()函数中通过具体参数来更改logging模块默认行为,可用参数有:
filename:用指定的文件名创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指定的文件中。
filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
format:指定handler使用的日志显示格式。
datefmt:指定日期时间格式。
level:设置rootlogger(后边会讲解具体概念)的日志级别
stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件,默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。
#格式
%(name)s:Logger的名字,并非用户名,详细查看
%(levelno)s:数字形式的日志级别
%(levelname)s:文本形式的日志级别
%(pathname)s:调用日志输出函数的模块的完整路径名,可能没有
%(filename)s:调用日志输出函数的模块的文件名
%(module)s:调用日志输出函数的模块名
%(funcName)s:调用日志输出函数的函数名
%(lineno)d:调用日志输出函数的语句所在的代码行
%(created)f:当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d:输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s:字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d:线程ID。可能没有
%(threadName)s:线程名。可能没有
%(process)d:进程ID。可能没有
%(message)s:用户输出的消息
4、logging模块的Formatter,Handler,Logger,Filter对象
原理图: 稍后补上
logger:产生日志的对象
Filter:过滤日志的对象
Handler:接收日志然后控制打印到不同的地方,FileHandler用来打印到文件中,StreamHandler用来打印到终端
Formatter对象:可以定制不同的日志格式对象,然后绑定给不同的Handler对象使用,以此来控制不同的Handler的日志格式
5、Logger与Handler的级别
logger是第一级过滤,然后才能到handler,我们可以给logger和handler同时设置level,但是需要注意的是:
Logger is also the first to filter the message based on a level — if you set the logger to INFO, and all handlers to DEBUG, you still won‘t receive DEBUG messages on handlers — they‘ll be rejected by the logger itself. If you set logger to DEBUG, but all handlers to INFO, you won‘t receive any DEBUG messages either — because while the logger says "ok, process this", the handlers reject it (DEBUG < INFO).
二、re模块
1、什么是正则?
正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
2、常用匹配模式(元字符)
http://blog.csdn.net/yufenghyc/article/details/51078107

    .*默认为贪婪匹配
    print(re.findall(‘a.*b‘,‘a1b22222222b‘)) #[‘a1b22222222b‘]
    .*?为非贪婪匹配:推荐使用
    print(re.findall(‘a.*?b‘,‘a1b22222222b‘)) #[‘a1b‘]
3、re模块提供的方法介绍
    import re
    re.findall
    re.search
    re.match
    re.split
    re.sub
    re.subn
    re.compile
三、time与datetime模块
1、在Python中,通常有这几种方式来表示时间:
    时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
    格式化的时间字符串(Format String)
    结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
         import time
         #我们先以当前时间为准,让大家快速认识三种形式的时间
         print(time.time()) # 时间戳:1487130156.419527
         print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:‘2017-02-15 11:40:53‘
         print(time.localtime()) #本地时区的struct_time
         print(time.gmtime())    #UTC时区的struct_time
2、计算机认识的时间只能是‘时间戳‘格式,而程序员可处理的或者说人类能看懂的时间有: ‘格式化的时间字符串‘,‘结构化的时间‘,于是有了下图的转换关系

localtime([secs])将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。
        time.localtime()
        time.localtime(1473525444.037215)
gmtime([secs]) 和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。
mktime(t) : 将一个struct_time转化为时间戳。
        print(time.mktime(time.localtime()))#1473525749.0
strftime(format[, t]) : 把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。
        print(time.strftime("%Y-%m-%d %X", time.localtime()))#2016-09-11 00:49:56
time.strptime(string[, format])把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。
        print(time.strptime(‘2011-05-05 16:37:06‘, ‘%Y-%m-%d %X‘))
time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6,
tm_wday=3, tm_yday=125, tm_isdst=-1)
在这个函数中,format默认为:"%a %b %d %H:%M:%S %Y"。

原文地址:http://blog.51cto.com/10630401/2060107

时间: 2024-10-18 10:58:11

Python常用的模块的相关文章

[转] Python 常用第三方模块 及PIL介绍

原文地址 除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,即可用pip安装. 本文介绍常用的第三方模块. 一个图像处理库PIL PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容

python 常用第三方模块

除了内建的模块外,Python还有大量的第三方模块. 基本上,所有的第三方模块都会在https://pypi.python.org/pypi上注册,只要找到对应的模块名字,即可用pip安装. 本章介绍常用的第三方模块. 1. PIL PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillo

Python常用时间模块讲解

一.常用的时间格式1.时间戳格式,例如:t = 1523197272.9467547(s),单位为秒:2.结构化时间格式,例如:t=time.struct_time(tm_year=2018,tm_mon=4,tm_mday=8,tm_hour=22,tm_min=22,tm_sec=4,tm_wday=6,tm_yday=98, tm_isdst=0),里面包含年.月.日.时.分.秒.星期几(0表示周一)等:因此,可以随意取出想要的值,如下图:其实,time.localtime()是以time

Python 常用系统模块整理

Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 threading: 线程相关 pickle: 将对象转换成二进制文件 time: 时间 datetime: 基本的日期和时间类型 timeit: 准确测量小段代码的执行时间 urllib: 访问网络的包 http.cookielib: 主要作用是提供可存储cookie的对象 socket: 套接字相关

男神鹏:python 常用的模块。

os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos') os中定义了一组文件.路径在不同操作系统中的表现形式参数,如 os.sep(文件夹分隔符,windows中是 \ ) os.extsep(扩展名分隔符,windows中是 . ) os.pathsep(目录分隔符,windows中是 ; ) os.l

python 常用的模块 optparse与ConfigParser

一.optparse 模块 功能:optparse模块用于处理命令行参数 使用流程: 1.首先,必须 import OptionParser 类,创建一个 OptionParser 对象: from optparse import OptionParser def Opt ():    parser=OptionParser("Usage: %prog -o option -d domain -s subject") 2.使用 add_option 来定义命令行参数:    parse

python常用小模块使用汇总

在写代码过程中常用到一些好用的小模块,现整理汇总一下: 1.获取当前的文件名和目录名,并添到系统环境变量中. file = os.path.abspath(__file__)                              #获取文件的绝对路径file_name = os.path.basename(file)                         #获取文件名file_dir = os.path.dirname(os.path.dirname(file))      #获取

python 常用的模块(struct)转

准确地讲,Python没有专门处理字节的数据类型.但由于str既是字符串,又可以表示字节,所以,字节数组=str.而在C语言中,我们可以很方便地用struct.union来处理字节,以及字节和int,float的转换. 在Python中,比方说要把一个32位无符号整数变成字节,也就是4个长度的str,你得配合位运算符这么写: >>> n = 10240099 >>> b1 = chr((n & 0xff000000) >> 24) >>&

Python#常用的模块和简单用法

目录 random 随机模块 os 文件夹模块: time 时间模块: matplotlab.pyplot 作图模块 mpl_toolkits.mplot3d 绘制3D图模块 Pygame Requests 请求URL: 文章导读 random 随机模块 import random code = random.choice(stock_list) # 从一个列表中随机选取元素下面是我目前经常用到的模块,为了方便使用,不是有特殊需求的话,个人觉得一开始没比亚每个模块都很深入学习,只要知道自己常用的