1 >>> from datetime import datetime 2 >>> now = datetime.now() # 獲取當前datetime 3 >>> print(now) 4 2015-05-18 16:28:07.198690
1 >>> from datetime import datetime 2 >>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期時間建立datetime 3 >>> print(dt) 4 2015-04-19 12:20:00
timestamp:計算機存儲內存儲當前時間的標準計量,全球各地的計算機在任意時刻的timestamp都是徹底相同的。python
timestamp轉換爲datetime
,使用datetime
提供的fromtimestamp()
方法。算法
str轉換爲datetime:datetime.strptime(
'2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S'
)
瀏覽器
datetime轉換爲str:strftime('%a, %b %d %H:%M')
app
datetime
表示的時間須要時區信息才能肯定一個特定的時間,不然只能視爲本地時間。函數
若是要存儲datetime
,最佳方法是將其轉換爲timestamp再存儲,由於timestamp的值與時區徹底無關。url
namedtuple:用來建立一個自定義的tuple
對象,而且規定了tuple
元素的個數,並能夠用屬性而不是索引來引用tuple
的某個元素。spa
deque:可以高效實現插入和刪除操做的雙向列表,適合用於隊列和棧。deque
除了實現list的append()
和pop()
外,還支持appendleft()
和popleft()
,這樣就能夠很是高效地往頭部添加或刪除元素。code
defaultdict:能夠在Key不存在時返回默認值。xml
OrderedDict:OrderedDict
的Key會按照插入的順序排列,能夠實現一個FIFO(先進先出)的dict,當容量超出限制時,先刪除最先添加的Key。對象
Counter:簡單計算器,Counter
實際上也是dict
的一個子類。
Base64:是一種用64個字符來表示任意二進制數據的方法,經常使用於在URL、Cookie、網頁中傳輸少許二進制數據。
itertools
提供了很是有用的用於操做迭代對象的函數。 chain()
能夠把一組迭代對象串聯起來,造成一個更大的迭代器。
groupby()
把迭代器中相鄰的重複元素挑出來放在一塊兒.
User-Agent
頭就是用來標識瀏覽器的。GET、POST、Handler
DOM vs SAX:
DOM會把整個XML讀入內存,解析爲樹,所以佔用內存大,解析慢,優勢是能夠任意遍歷樹的節點。
SAX是流模式,邊讀邊解析,佔用內存小,解析快,缺點是咱們須要本身處理事件。
在Python中使用SAX解析XML很是簡潔,一般咱們關心的事件是start_element
,end_element
和char_data
,準備好這3個函數,而後就能夠解析xml了。
會產生3個事件:
start_element事件,在讀取<a href="/">
時;
char_data事件,在讀取python
時;
end_element事件,在讀取</a>
時。
HTMLParser:能夠把網頁中的文本、圖像等解析出來。