舉例講解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ù)器,可理解為屬性默認值為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?常用模塊threading和Thread模塊之線程池
這篇文章主要介紹了Python?threading和Thread模塊之線程池,線程池如消費者,負責(zé)接收任務(wù),并將任務(wù)分配到一個空閑的線程中去執(zhí)行。并不關(guān)心是哪一個線程執(zhí)行的這個任務(wù),具體介紹需要的小伙伴可以參考下面文章詳細內(nèi)容2022-06-06
使用python檢測網(wǎng)頁文本內(nèi)容屏幕上的坐標
在 Web 開發(fā)中,經(jīng)常需要對網(wǎng)頁上的文本內(nèi)容進行處理和操作,有時候,我們可能需要知道某個特定文本在屏幕上的位置,以便進行后續(xù)的操作,所以本文將介紹如何使用 Python 中的 Selenium 和 BeautifulSoup 庫來檢測網(wǎng)頁文本內(nèi)容在屏幕上的坐標,需要的朋友可以參考下2024-04-04
caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解
今天小編就為大家分享一篇caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
關(guān)于Python的json字符串與json模塊解讀
這篇文章主要介紹了關(guān)于Python的json字符串與json模塊解讀,JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C,?C++,?C#,?Java,?JavaScript,?Perl,?Python等),這些特性使JSON成為理想的數(shù)據(jù)交換語言,需要的朋友可以參考下2023-07-07
python數(shù)據(jù)結(jié)構(gòu)之列表和元組的詳解
這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之列表和元組的詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家徹底理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09

