Python中常用的模块
Posted guyuangang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中常用的模块相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
Python中常用的模块collections、time、random、os、sys、json、re、hashlib、configparse、logging
collections
1 from collections import Counter, deque, defaultdict, namedtuple, OrderedDict 2 3 """ 4 collections模块是在内置数据类型(list、tuple、dict、set)的基础上扩展出来的几个额外的 5 数据类型:Counter、deque、defaultdict、namedtuple和Ordereddict等 6 1、namedtuple:生成可以使用名字来访问元素内容的tuple 7 2、deque:双端队列,可以快速的从另外一侧追加和推出对象 8 3、Counter:计数器,主要用来计数 9 4、Ordereddict:keys有序的字典 10 5、defaultdict:带有默认值的字典 11 """ 12 13 # 1、namedtuple 14 # 用namedtuple表示一个二维坐标(x,y) 15 print(‘--------------------namedtuple--------------------‘) 16 Point = namedtuple(‘Point‘, [‘x‘, ‘y‘]) 17 p = Point(4, 6) 18 print(p.x) # 4 19 print(p.y) # 6 20 21 # 2、deque 22 # 使用list存储数据时,按索引访问元素时速度是很快的,但是对list进行插入和删除元素的时候就很慢, 23 # 因为list是线性存储的,数据量大的时候,插入和删除操作效率很低。deque就是为了提高队列和栈插入 24 # 和删除效率的模块 25 print(‘--------------------deque--------------------‘) 26 list_dq = deque([‘a‘, ‘b‘, ‘c‘]) 27 list_dq.append(‘x‘) 28 list_dq.appendleft(‘y‘) # deque的appendleft()和popleft()方法可以高效的实现从表头位置添加和删除元素 29 print(list_dq) # deque([‘y‘, ‘a‘, ‘b‘, ‘c‘, ‘x‘]) 30 31 # 3、OrderDict 32 # 使用dict创建字典时,字典中的key是无序的,如果要保持dict中key的顺序,可以使用OrderDict 33 print(‘--------------------OrderDict--------------------‘) 34 d = dict(a=1, b=2, c=3) 35 print(d.keys()) 36 # for k in d: 37 # print(k,end=‘ ‘) 38 od = OrderedDict(a=1, b=2, c=3) 39 print(od.keys()) 40 # for k in od: 41 # print(k,end=‘ ‘) 42 43 # 4、defaultdict 44 # 访问dict中不存在的key时,会报错;而访问defaultdict中不存在的key时,该key会得到一个默认值 45 print(‘--------------------defaultdict--------------------‘) 46 d_dict = defaultdict(list) 47 print(d_dict[‘k1‘]) # [] 48 print(d_dict) # defaultdict(<class ‘list‘>, {‘k1‘: []}) 49 50 # 5、Counter 51 # Counter模块是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储; 52 # 其中key为元素,value为计数 53 print(‘--------------------Counter--------------------‘) 54 c = Counter(‘adhfkdjhfekdhfkdsfhskdfhk‘) 55 print(c) # Counter({‘d‘: 5, ‘h‘: 5, ‘f‘: 5, ‘k‘: 5, ‘s‘: 2, ‘a‘: 1, ‘j‘: 1, ‘e‘: 1}) 56 #更多关于Counter的操作http://www.cnblogs.com/Eva-J/articles/7291842.html
time
import time # 在Python中表示时间的3中方式 # 1、时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,是一个float类型 time_stamp = time.time() print(time_stamp) # 1552803140.7146168 # 2、格式化后的时间字符串(format string):‘2019-3-17-14-14-52‘ """ %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号本身 """ str_time = time.strftime("%Y-%m-%d-%H:%M") print(str_time) # 2019-03-17-14:21 # 3、元组(struct_time):struct_time元组共有9个元素 """ 索引(index) 属性(Attribute) 值(value) 0 tm_year(年) 如2019 1 tm_mon(月) 1-12 2 tm_mday(日) 1-31 3 tm_hour(时) 0-23 4 tm_min(分) 0-59 5 tm_sec(秒) 0-60 6 tm_wday(weekday) 0-6(0表示星期一) 7 rm_yday(一年中的第几天) 1-366 8 tm_isdst(是否是夏令时) 默认为0 """ #time.localtime()将一个时间戳转换为当前时区的struct_time struct_time = time.localtime() print(struct_time) # time.struct_time(tm_year=2019, tm_mon=3, tm_mday=17, # tm_hour=14, tm_min=55, tm_sec=27, tm_wday=6, tm_yday=76, tm_isdst=0) #4、注意:时间戳是计算机能认识的时间,时间str是人能认识的时间,而time.localtime()是用来操作时间的
以上是关于Python中常用的模块的主要内容,如果未能解决你的问题,请参考以下文章