news 2026/4/24 18:21:56

总结几个非常实用的Python库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
总结几个非常实用的Python库

一、datetime

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

1、获取当前日期和时间

1

2

3

4

5

6

7

8

9

10

11

>>>fromdatetimeimportdatetime

>>> now=datetime.now()

>>>print(now)

2021-06-1409:33:10.460192

>>>print(type(now))

<class'datetime.datetime'>

2、获取指定日期和时间

1

2

3

4

5

6

7

>>>fromdatetimeimportdatetime

>>> dt=datetime(2021,6,10,12,0)

>>>print(dt)

2021-06-1012:00:00

3、datetime转换为timestamp

在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp(时间戳)。

1

2

3

4

5

6

7

8

9

10

11

>>>fromdatetimeimportdatetime

>>> now=datetime.now()

>>> now

datetime.datetime(2021,6,14,9,38,34,969006)

>>> now.timestamp()#把datetime转换为timestamp

1623634714.969006

4、timestamp转换为datetime

1

2

3

4

5

6

7

>>>fromdatetimeimportdatetime

>>> timestamp=1623634714.969006

>>>print(datetime.fromtimestamp(timestamp))

2021-06-1409:38:34.969006

5、str转换为datetime

1

2

3

4

5

6

7

>>>fromdatetimeimportdatetime

>>> day=datetime.strptime('2021-6-10 12:12:12','%Y-%m-%d %H:%M:%S')

>>>print(day)

2021-06-1012:12:12

6、datetime转换为str

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

>>>fromdatetimeimportdatetime

>>> now=datetime.now()

>>>print(now)

2021-06-1409:49:02.281820

>>>print(type(now))

<class'datetime.datetime'>

>>> str_day=now.strftime('%Y-%m-%d %H:%M:%S')

>>>print(str_day)

2021-06-1409:49:02

>>>print(type(str_day))

<class'str'>

二、collections

collections是Python内建的一个集合模块,提供了许多有用的集合类,其中统计功能非常实用。

Counter

Counter是一个简单的计数器,例如,统计字符出现的个数

1

2

3

4

5

6

7

8

9

10

11

>>>fromcollectionsimportCounter

>>> c=Counter()

>>>str='jdkjefwnewnfjqbefbqbefqbferbb28934`83278784727'

>>> c.update(str)

>>> c

Counter({'b':6,'e':5,'f':5,'8':4,'7':4,'j':3,'q':3,'2':3,'w':2,'n':2,'3':2,'4':2,'d':1,'k':1,'r':1,'9':1,'`':1})

三、base64

Base64是一种用64个字符来表示任意二进制数据的方法。

用记事本打开exejpgpdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。

1

2

3

4

5

>>>importbase64

>>> base64.b64encode(b'binary\x00string')

b'YmluYXJ5AHN0cmluZw=='

>>> base64.b64decode(b'YmluYXJ5AHN0cmluZw==')

b'binary\x00string'

四、hashlib

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

什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

我们以常见的摘要算法MD5为例,计算出一个字符串的MD5值:

1

2

3

4

5

6

7

8

9

>>>importhashlib

>>> md5=hashlib.md5()

>>> md5.update("程序员唐丁".encode('utf-8'))

>>>print(md5.hexdigest())

05eb21a61d2cf0cf84e474d859c4c055

摘要算法能应用到什么地方?举个常用例子:

任何允许用户登录的网站都会存储用户登录的用户名和口令。如何存储用户名和口令呢?方法是存到数据库表中。如果以明文保存用户口令,如果数据库泄露,所有用户的口令就落入黑客的手里。此外,网站运维人员是可以访问数据库的,也就是能获取到所有用户的口令。正确的保存口令的方式是不存储用户的明文口令,而是存储用户口令的摘要,比如MD5,当用户登录时,首先计算用户输入的明文口令的MD5,然后和数据库存储的MD5对比,如果一致,说明口令输入正确,如果不一致,口令肯定错误。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 18:21:33

Winutils:5分钟快速搞定Windows下Hadoop开发环境搭建

Winutils&#xff1a;5分钟快速搞定Windows下Hadoop开发环境搭建 【免费下载链接】winutils 项目地址: https://gitcode.com/gh_mirrors/winu/winutils Winutils是Windows系统上运行Hadoop生态系统的必备工具集&#xff0c;它为开发者提供了简单快速的解决方案&#xf…

作者头像 李华
网站建设 2026/4/24 18:11:48

TI IWR6843AOP雷达+DCA1000EVM数据采集:官方手册里的坑,我帮你踩完了

IWR6843AOP雷达与DCA1000EVM数据采集实战&#xff1a;官方手册未提及的12个关键细节 1. 硬件连接与配置陷阱 第一次接触IWR6843AOP和DCA1000EVM组合时&#xff0c;最令人困惑的莫过于硬件连接的正确方式。官方文档SPRUIK7中描述的配置在实际操作中会导致数据采集失败&#xff0…

作者头像 李华
网站建设 2026/4/24 18:11:18

14天试用期又到了?Navicat无限重置的魔法脚本让你告别烦恼

14天试用期又到了&#xff1f;Navicat无限重置的魔法脚本让你告别烦恼 【免费下载链接】navicat_reset_mac navicat mac版无限重置试用期脚本 Navicat Mac Version Unlimited Trial Reset Script 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 还在为…

作者头像 李华