zoukankan      html  css  js  c++  java
  • 常见的内建模块

    datetime :datetime是Python处理日期和时间的标准库。

      获取当前日期和时间

    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都是完全相同的。

      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')  

      datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。

      如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关

    collections:collections是Python内建的一个集合模块,提供了许多有用的集合类。

      namedtuple:用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

      deque:能够高效实现插入和删除操作的双向列表,适合用于队列和栈。deque除了实现list的append()pop()外,还支持appendleft()popleft(),这样就可以非常高效地往头部添加或删除元素。

      defaultdict:可以在Key不存在时返回默认值。

      OrderedDict:OrderedDict的Key会按照插入的顺序排列,可以实现一个FIFO(先进先出)的dict,当容量超出限制时,先删除最早添加的Key。

      Counter:简单计算器,Counter实际上也是dict的一个子类。

    Base64:是一种用64个字符来表示任意二进制数据的方法,常用于在URL、Cookie、网页中传输少量二进制数据。

    hashlib:hashlib提供了常见的摘要算法,如MD5,SHA1等等。

    itertools:itertools提供了非常有用的用于操作迭代对象的函数。

      chain()可以把一组迭代对象串联起来,形成一个更大的迭代器。

      groupby()把迭代器中相邻的重复元素挑出来放在一起.

    urllib:urllib提供了一系列用于操作URL的功能。如果要模拟浏览器完成特定功能,需要把请求伪装成浏览器。伪装的方法是先监控浏览器发出的请求,再根据浏览器的请求头来伪装,User-Agent头就是用来标识浏览器的。

      GET、POST、Handler

    XML:

      DOM vs SAX:

        DOM会把整个XML读入内存,解析为树,因此占用内存大,解析慢,优点是可以任意遍历树的节点。

        SAX是流模式,边读边解析,占用内存小,解析快,缺点是我们需要自己处理事件。

      在Python中使用SAX解析XML非常简洁,通常我们关心的事件是start_elementend_elementchar_data,准备好这3个函数,然后就可以解析xml了。

      会产生3个事件:

      1. start_element事件,在读取<a href="/">时;

      2. char_data事件,在读取python时;

      3. end_element事件,在读取</a>时。

    HTMLParser:可以把网页中的文本、图像等解析出来。

  • 相关阅读:
    LeetCode | Remove Duplicates from Sorted List
    LeetCode | Remove Duplicates from Sorted Array
    LeetCode | Merge Sorted Array
    opencv的配置、使用
    LeetCode | Merge Two Sorted Lists
    LeetCode | Minimum Depth of Binary Tree
    LeetCode | Same Tree
    LeetCode | Maximum Depth of Binary Tree
    LeetCode | Insertion Sort List
    python运算符优先级
  • 原文地址:https://www.cnblogs.com/yl-saber/p/9560629.html
Copyright © 2011-2022 走看看