【Python】常用内建模块(卒)

内容来自廖雪峰的官方网站 笔记性质

1、datetime

2、collections

3、base64

4、struct

5、hashlib

6、itertools

7、contextlib

8、XML

9、HTMLParser

10、urllib

datetime

Ⅰ、获取当前日期和时间:

>>> from datetime import datetime
>>> print(datetime.now())
2017-05-06 11:53:09.545977

Ⅱ、创建指定时间的datetime对象:

>>> myBirthday = datetime(1886, 2, 3)
>>> print(myBirthday)
1886-02-03 00:00:00

Ⅲ、datetime转换为timestamp.1970年以前的timestamp表示为为负数,timestamp本质是一个浮点数,如果时间过于久远,可能会出现OverflowError: timestamp out of range

>>> hi = datetime(2017, 2, 2, 3)
>>> hi.timestamp()
1485975600.0

Ⅳ、timestamp转换为datetime:

>>> stamp = 1485975600.0
>>> datetime.fromtimestamp(stamp)
datetime.datetime(2017, 2, 2, 3, 0)

这个转换与操作系统设置的时区有关,也可以直接转换成UTC标准时区的时间:

>>> datetime.utcfromtimestamp(1485975600.0)
datetime.datetime(2017, 2, 1, 19, 0)

Ⅴ、str转换为datetime:

>>> datetime.strptime('2017-5-8 18:19:59', '%Y-%m-%d %H:%M:%S')
datetime.datetime(2017, 5, 8, 18, 19, 59)

具体参考Python文档,以上的datetime.datetime(......)都是标准的datetime对象,

>>> datetime(2017, 2, 2, 3)
datetime.datetime(2017, 2, 2, 3, 0)

Ⅵ、datetime转换为str:

>>> print(datetime.now().strftime('%a, %b %d %H:%M'))
Wed, May 10 23:43

同样需要指定格式。

Ⅶ、datetime的加减。

>>> from datetime import datetime, timedelta
>>> print(datetime.now() + timedelta(hours=24))
2017-05-11 23:47:16.551996
>>> print(datetime.now() + timedelta(days=1))
2017-05-11 23:47:45.727287

Ⅷ、本地时间转换为UTC时间。

Ⅸ、时区转换。

collections

Ⅰ、namedtuple.

简便地定义tuple的子类型。

>>> from collections import namedtuple
>>> Point = namedtuple('Point', ['x', 'y'])
>>> p = Point(1, 2) 
>>> p.x # 访问tuple中的元素
1
>>> isinstance(p, tuple)
True # 可以验证,p也是一种tuple

Ⅱ、deque.

双向列表,高效插入删除。

Ⅲ、defaultdict.

当dict的key不存在时会返回一个默认值的特殊dict。

Ⅳ、orderedDict.

有序的dict。

Ⅴ、Counter

>>> from collections import Counter
>>> c = Counter()
>>> for ch in 'aaabbbbcccaabababacc':
...     c[ch] = c[ch] + 1
...
>>> c
Counter({'a': 8, 'b': 7, 'c': 5})

本质也是一个dict。

base64

struct

hashlib

itertools

contextlib

XML

HTMLParser

urllib

Top

原文地址:https://www.cnblogs.com/xkxf/p/6810059.html