舉例講解Python常用模塊
datetime
日期時間類,主要熟悉API,時區(qū)的概念與語言無關(guān)。
from datetime import datetime as dt dt.utcnow() # 系統(tǒng)UTC時間 dt.now() # 系統(tǒng)當(dāng)前時間 dt(2018, 3, 27, 14, 30) # 獲得2018-3-27 14:30對應(yīng)的datetime對象 dt.now().timestamp() # 秒數(shù)1522133962.527885 dt.fromtimestamp(1522133962.527885) # 從秒到datetime對象 dt.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') # string轉(zhuǎn)datetime對象 dt.now().strftime('%a, %b %d %H:%M') # datetime轉(zhuǎn)string
collections
namedtuple
可用于表示簡單只讀對象。
from collections import namedtuple Point = namedtuple('Point', ['x', 'y', 'z']) p = Point(1, 1, 1) p.x # 1 p.z # 1 p.x = 2 # Error
deque
雙向隊列。
from collections import deque q = deque(['a', 'b', 'c']) q.append('x') q.pop() # x q.append('u') q.popleft() # a
defaultdict
相對于dict,訪問不存在的屬性時,會返回lambda表達的返回值。
from collections import defaultdict dd = defaultdict(lambda : None) dd['x'] = 1 dd['x'] # 1 print(dd['y']) # None
OrderedDict
有序字典,可以保持字典按屬性插入的先后順序。
from collections import OrderedDict od = OrderedDict() od['x'] = 1 od['y'] = 2 od['z'] = 3 for item in od: print(item) # x y z
Counter
計數(shù)器,可理解為屬性默認(rèn)值為0的dict。
from collections import Counter c = Counter() c['x'] # 0 c['x'] = 'x' c['x'] # x
base64
base64編碼,把bytes用ascii編碼的一種常見方法。
import base64 base64.b64encode(b'hello') # b'aGVsbG8=' base64.b64decode(b'aGVsbG8=') # b'hello'
hashlib
常見的摘要算法,如MD5,SHA1等。
import hashlib as hash md5 = hash.md5() md5.update('233'.encode('utf-8')) print(md5.hexdigest()) # e165421110ba03099a1c0393373c5b43
hmac
hmac,類似md5 + salt。
import hmac password = b'888888' salt = b'abc' h = hmac.new(salt, password, digestmod='MD5') h.hexdigest() # 519151ad14e431254ff684cf4dba2d39
itertools
import itertools n = 0 for item in itertools.count(1): print(item) # 1, 2 ... 10 n += 1 if n > 10: break n = 0 for item in itertools.cycle('ABC'): print(item) # A, B, C, A ... n += 1 if n > 10: break n = 0 for item in itertools.repeat('A'): print(item) # A, A, A ... n += 1 if n > 10: break # 組合多個可迭代對象 for item in itertools.chain('ABC', 'XYZ'): print(item) # A, B, C, X, Y, Z
contextlib
with語句所需要的上下文管理器,可借助contextlib模塊中的contextmanager使用裝飾器模式實現(xiàn)。
from contextlib import contextmanager @contextmanager def withable(name): yield name print('end') with withable('x') as res: print(res) # x, end
urllib
urllib模塊中的request可用于實現(xiàn)http-client相關(guān)功能。
from urllib import request with request.urlopen('https://amsimple.com') as res: data = res.read() print('Status:', res.status, res.reason) for k, v in res.getheaders(): print('%s: %s' % (k, v))
第三方模塊
- Pillow:圖片處理
- requests:比urllib中的request更強大
- chardet:對字符串進行編碼識別
- psutil: 更便捷獲取系統(tǒng)相關(guān)信息
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Python實現(xiàn)批量執(zhí)行同目錄下的py文件方法
今天小編就為大家分享一篇Python實現(xiàn)批量執(zhí)行同目錄下的py文件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python爬蟲小例子——爬取51job發(fā)布的工作職位
這篇文章主要介紹了Python爬取51job發(fā)布的工作職位,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下2020-07-07使用python matploblib庫繪制準(zhǔn)確率,損失率折線圖
這篇文章主要介紹了使用python matploblib庫繪制準(zhǔn)確率,損失率折線圖,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06pandas.DataFrame寫入數(shù)據(jù)庫的實現(xiàn)方式
這篇文章主要介紹了pandas.DataFrame寫入數(shù)據(jù)庫的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08python bottle框架支持jquery ajax的RESTful風(fēng)格的PUT和DELETE方法
下面小編就為大家?guī)硪黄猵ython bottle框架支持jquery ajax的RESTful風(fēng)格的PUT和DELETE方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05