Python之內建模組(datetime與collections)
阿新 • • 發佈:2020-12-08
獲取當前時間 及指定時間
# 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
# 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)