侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

举例讲解Python常用模块

Python  /  管理员 发布于 8年前   275

datetime

日期时间类,主要熟悉API,时区的概念与语言无关。

from datetime import datetime as dtdt.utcnow() # 系统UTC时间dt.now() # 系统当前时间dt(2018, 3, 27, 14, 30) # 获得2018-3-27 14:30对应的datetime对象dt.now().timestamp() # 秒数1522133962.527885dt.fromtimestamp(1522133962.527885) # 从秒到datetime对象dt.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') # string转datetime对象dt.now().strftime('%a, %b %d %H:%M') # datetime转string

collections

namedtuple

可用于表示简单只读对象。

from collections import namedtuplePoint = namedtuple('Point', ['x', 'y', 'z'])p = Point(1, 1, 1)p.x # 1p.z # 1p.x = 2 # Error

deque

双向队列。

from collections import dequeq = deque(['a', 'b', 'c'])q.append('x')q.pop() # xq.append('u')q.popleft() # a

defaultdict

相对于dict,访问不存在的属性时,会返回lambda表达的返回值。

from collections import defaultdictdd = defaultdict(lambda : None)dd['x'] = 1dd['x'] # 1print(dd['y']) # None

OrderedDict

有序字典,可以保持字典按属性插入的先后顺序。

from collections import OrderedDictod = OrderedDict()od['x'] = 1od['y'] = 2od['z'] = 3for item in od:  print(item) # x y z

Counter

计数器,可理解为属性默认值为0的dict。

from collections import Counterc = Counter()c['x'] # 0c['x'] = 'x'c['x'] # x

base64

base64编码,把bytes用ascii编码的一种常见方法。

import base64base64.b64encode(b'hello') # b'aGVsbG8='base64.b64decode(b'aGVsbG8=') # b'hello'

hashlib

常见的摘要算法,如MD5,SHA1等。

import hashlib as hashmd5 = hash.md5()md5.update('233'.encode('utf-8'))print(md5.hexdigest()) # e165421110ba03099a1c0393373c5b43

hmac

hmac,类似md5 + salt。

import hmacpassword = b'888888'salt = b'abc'h = hmac.new(salt, password, digestmod='MD5')h.hexdigest() # 519151ad14e431254ff684cf4dba2d39

itertools

import itertoolsn = 0for item in itertools.count(1):  print(item) # 1, 2 ... 10  n += 1  if n > 10:    breakn = 0for item in itertools.cycle('ABC'):  print(item) # A, B, C, A ...  n += 1  if n > 10:    breakn = 0for item in itertools.repeat('A'):  print(item) # A, A, A ...  n += 1  if n > 10:    break# 组合多个可迭代对象for item in itertools.chain('ABC', 'XYZ'):  print(item) # A, B, C, X, Y, Z

contextlib

with语句所需要的上下文管理器,可借助contextlib模块中的contextmanager使用装饰器模式实现。

from contextlib import contextmanager@contextmanagerdef withable(name):  yield name  print('end')with withable('x') as res:  print(res) # x, end

urllib

urllib模块中的request可用于实现http-client相关功能。

from urllib import requestwith request.urlopen('https://amsimple.com') as res:  data = res.read()  print('Status:', res.status, res.reason)  for k, v in res.getheaders():    print('%s: %s' % (k, v))

第三方模块

  • Pillow:图片处理
  • requests:比urllib中的request更强大
  • chardet:对字符串进行编码识别
  • psutil: 更便捷获取系统相关信息

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家的支持。如果你想了解更多相关内容请查看下面相关链接


  • 上一条:
    Python I/O与进程的详细讲解
    下一条:
    python实现手机销售管理系统
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • AI Agent
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • OpenAI GPT-5.5正式发布:更会编程和使用计算机的最强模型!(0个评论)
    • opencode AI智能体自主规划开发游戏:王者荣耀模拟战游戏初体验!英雄角色开发中...(0个评论)
    • opencode AI智能体自主规划开发游戏:王者荣耀模拟战游戏初体验!(0个评论)
    • opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus(0个评论)
    • Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用(0个评论)
    • Apifox桌面端被曝遭供应链投毒:CDN 脚本被篡改,窃取 SSH 密钥与 Git 凭证(0个评论)
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 近期评论
    • test1 在

      opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus中评论 test..
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • Zita 在

      Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用中评论 111222..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客