Python之内置模块(datetime与collections)

Posted 秋叶落日

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之内置模块(datetime与collections)相关的知识,希望对你有一定的参考价值。

获取当前时间 及指定时间

# from datetime import datetime#调用处理日期与时间的标准库
# now = datetime.now()#获取当前时间
# print(now)
# import time
# ww = time.time()#以时间戳形式获取时间
# print(ww)
# from datetime import datetime
# dt = datetime(2011,1,12,12,0)#获取指定时间
# print(dt)

 

datetime与timestamp相互转换

把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp,即时间戳。

# from datetime import datetime
# dt = datetime(2011,1,12,12,0)#获取指定时间
# print(dt)
# dt=dt.timestamp()#将时间格式转为时间戳格式
# print(dt)
# dt=datetime.fromtimestamp(dt)#将时间戳格式转为时间格式
# print(dt)

 

 

 timestamp是一个浮点数,整数位表示秒

本地时间与UTC标准时区时间

# from  datetime import datetime
# t=1294804800.0
# dt=datetime.fromtimestamp(t)#本地时间
# print(dt)
# dr=datetime.utcfromtimestamp(t)#UTC时间
# print(dr)

 

 datetime与str之间的相互转换

# from datetime import datetime
# dt= datetime.strptime(\'2015-6-1 18:19:59\', \'%Y-%m-%d %H:%M:%S\')#字符串转换为时间格式
# print(dt)
# print(type(dt))
# mm= dt.strftime(\'%Y-%m-%d %H:%M:%S\')#时间格式转换为字符串
# print(mm)
# print(type(mm))

 

 时间的加减

# from datetime import datetime,timedelta
# now=datetime.now()#显示当前时间
# print(now)
# cc=now + timedelta(hours=10)#当前时间加上10个小时
# print(cc)
# bb=now + timedelta(days=3)#当前时间加上3天
# print(bb)

collections

 collections是Python内建的一个集合模块,提供了许多有用的集合类。

namedtuple

# from collections import namedtuple
# Point = namedtuple(\'Point\',[\'x\',\'y\'])#定义一个名为Point元组,是一个坐标
# p=Point(2,3)#为元组添加坐标
# print(p.x)#调用x
# print(p.y)#调用y

deque

deque是为了高效实现插入和删除操作的双向列表

# from collections import deque
# q= deque([\'a\',\'b\',\'c\'])
# print(q)
# q.append(\'x\')#在q中末尾添加一个元素
# q.appendleft(\'y\')#在q中第一位添加一个元素
# print(q)
# q.pop()#在q中末尾删除一个元素
# q.popleft()#在q中第一位删除一个元素
# print(q)

defaultdict

# from collections import defaultdict
# dd= defaultdict(lambda :\'N/A\')#当创建字典时,如果key不存在时返回一个默认值
# dd[\'key1\']=\'abc\'
# dd[\'key2\']
# print(dd)

 

OrderedDict

# from collections import OrderedDict
# d=dict([(\'a\',1),(\'d\',3),(\'c\',2),(\'b\',8)])
# print(d)
# od = OrderedDict([(\'a\',1),(\'d\',3),(\'c\',2),(\'b\',8)])
# print(od)
# 
# od= OrderedDict()
# od[\'a\']=1
# od[\'b\']=4
# od[\'x\']=3
# print(list(od.values()))

 

 

 OrderedDict的Key会按照插入的顺序排列,不是Key本身排序。

ChainMap

# from collections import ChainMap
# import os,argparse
# 构造缺省参数
# defaults={
#     \'color\':\'red\',
#     \'user\':\'guest\'
# }
# 构造命令行参数
# parser =argparse.ArgumentParser()
# parser.add_argument(\'-u\',\'--user\')
# parser.add_argument(\'-c\',\'--color\')
# name =parser.parse_args()
# command ={k:v for k,v in vars(name).items() if v}
# 组合成ChainMap
# combined =ChainMap(command,os.environ,defaults)
#打印参数
# print(\'color=%s\' % combined[\'color\'])
# print(\'user=%s\' % combined[\'user\'])

Counter      计数器

# from collections import Counter
# c=Counter()
# for ch in \'a;ldkq,kf,falfm\':
#     c[ch]=c[ch]+1
# print(c)

 

以上是关于Python之内置模块(datetime与collections)的主要内容,如果未能解决你的问题,请参考以下文章

Python内置模块之timedatetime

Python之日期与时间处理模块(date和datetime)

Python之日期与时间处理模块(date和datetime)

python 3 之日期与时间处理模块(date和datetime)

python基础之模块(time,datetime,os,random)

python内几种常用内置模块的介绍,包括time模块,datetime模块,random模块,os模块,sys模块,hashlib模块