当前位置: 首页 > news >正文

总结几个非常实用的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对比,如果一致,说明口令输入正确,如果不一致,口令肯定错误。

http://www.jsqmd.com/news/693899/

相关文章:

  • Qwen3-4B-Instruct功能体验:256K上下文窗口下的长文本智能对话实测
  • 告别官方模板!手把手教你从零搭建CH32V003自定义工程(附目录结构规划)
  • 2026法考真题APP深度测评:竹马app一站式解决五大备考痛点
  • 3个实战场景揭秘:如何用GmSSL让国产密码技术真正落地
  • hph基因结构解析 抗性标记设计
  • 收藏|2026年版程序员高薪突围!AI大模型成逆袭核心赛道
  • DS4Windows:让PS4/PS5手柄在Windows上获得原生游戏体验的终极方案
  • DC综合时遇到‘Unable to resolve reference’警告别慌,手把手教你定位并修复信号位宽不匹配问题
  • 详解python运行三种方式
  • 别再被罚单了!用Python+Arduino动手做个CW多普勒测速雷达(附代码)
  • 用Cocos Creator 2.0.4 + Spring Boot,我如何在一个月内搞定三端(H5/安卓/iOS)斗地主核心逻辑
  • 别再为PLC通讯发愁了!用C#和S7netPlus库,10行代码搞定西门子S7系列数据读写
  • Agent间状态不同步、日志碎片化、时序难追踪……VSCode多智能体调试的7大隐形陷阱,资深架构师逐条击破
  • 保姆级教程:在N32G430上用FreeRTOS v202212.01点灯(附完整工程)
  • 告别手动复制!用Inno Setup 6.2.0为你的Java桌面应用制作专业安装包(含JRE打包)
  • 2026 跨境电商业态深度分析:多语言多货币系统已成全球化战略核心基建
  • 反射驱动的零开销泛型序列化方案全解析,从C++23 constexpr容器到C++26 field_reflector实战演进
  • 终极罗技PUBG鼠标宏指南:5分钟掌握智能压枪技巧
  • 紧急!生产环境MCP网关偶发120ms毛刺?用perf + flame graph 15分钟定位C++虚函数调用链引发的L3缓存抖动——附热补丁patch与回归测试用例
  • 网盘直链下载助手LinkSwift:8大网盘免费高速下载终极指南
  • Nucleus Co-Op:Windows单机游戏分屏多人协作架构深度技术解析
  • 机器人感知与决策系统技术解析
  • 别再傻傻等在线下载了!手把手教你Arthas离线安装(附Maven仓库下载地址)
  • 你的EfficientNetV2为什么训不好?可能是这3个PyTorch配置细节没搞对
  • 仅用237行标准C代码完成KV Cache动态裁剪:一位TI C2000资深FAE在产线深夜调试出的轻量大模型适配范式
  • 避坑指南:NI VeriStand上下位机安装中那些容易出错的步骤(BIOS设置、软件版本匹配、网络连接)
  • 在Windows上运行Hadoop:为什么winutils是关键所在?
  • QQ截图独立版终极指南:免费免登录的专业截图工具完全攻略
  • 算法打卡第11天 删除有序数组中的重复项
  • 如何实现AI助手与浏览器的无缝协作:Playwright MCP扩展终极指南