今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多,喜欢记得收藏、点赞、关注。

argparse

Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命令行接口,我们先来看一个例子

import argparse# 解析参数
parser = argparse.ArgumentParser()
parser.add_argument("name")
args = parser.parse_args()# 打印结果
print(f'Hello {args.name}!')

然后我们在终端当中运行以下的代码

python python_package.py XXX

就会出现以下的结果

Hello XXX!

要是我们忘记带上参数了,会自动出现如下的提示

usage: python_package.py [-h] name
python_package.py: error: the following arguments are required: name

当然我们也可以通过如下的命令行来查看需要添加什么样的参数

python python_package.py -h

出来的结果如下所示

usage: python_package.py [-h] namepositional arguments:nameoptional arguments:-h, --help  show this help message and exit

当然我们并不知道这个name的参数到底指的是什么,因为我们可以更改一下我们写的程序

import argparse# 解析参数
parser = argparse.ArgumentParser()
parser.add_argument("name", help="Enter your name")
args = parser.parse_args()print(f'Hello {args.name}!')

这样的话,我们再来运行一下如下的命令行

python python_package.py -h

output

usage: python_package.py [-h] namepositional arguments:name        Enter your nameoptional arguments:-h, --help  show this help message and exit

有时候我们想要输入的不止一个参数,我们可以这样来做,

import argparse# 解析参数
parser = argparse.ArgumentParser()
parser.add_argument("name", help="Enter your name")
parser.add_argument("age", help='Enter your age', type=int)
args = parser.parse_args()born_year = 2022 - args.age
print(f'Hello {args.name}! You were borned in {born_year}.')

我们通过终端输入如下的程序

python python_package.py XXX 24

output

Hello XXX! You were borned in 1998.

shutil

shutil模块提供了大量的文件高级操作。特别是针对文件的拷贝、删除、移动、压缩和解压缩等操作,我们先来看一个例子

import shutil
print(shutil.which("python"))

output

路径......

上面返回的是Python可执行程序的路径,文件移动的代码是shutil.move(src, dst)

shutil.move("源路径", "目标路径")

除此之外我们主要会用到的还有:

  • shutil.copyfile(src, dst): 复制文件

  • shutil.copytree(olddir, newdir, True/False):复制整个文件夹目录

  • shutil.rmtree(src): 递归删除一整个目录以及目录文件夹下的所有内容

glob

glob模块主要是用来查找符合特定规则的目录和文件,并将查找出来的结果返回到一个列表当中来。它还可以和正则通配符一起来使用,例如

def choose_numbered_files(root="."):return glob.glob(f"{root}/[0-9].*")choose_numbered_files("images")

返回的是在images路径下的带有数字的文件,结果如下

['images\\1.gif','images\\1.png','images\\2.gif','images\\2.png','images\\3.png',]

上面用到的glob.glob()返回的是符合匹配条件的所有文件的路径,而glob.iglob()返回的是一个迭代对象,需要循环遍历获取每个元素之后得到符合匹配条件的所有文件的路径。

pprint

pprint模块提供了“美化打印”任意Python数据结构的功能,方便使用者阅读,要是用普通的print来打印的话,如下

nested = [list("abcs"), list("sdff"), [1, 45, 4, 6, 7, 8], list(range(12))]
print(nested)

output

[['a', 'b', 'c', 's'], ['s', 'd', 'f', 'f'], [1, 45, 4, 6, 7, 8], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]]

而用pprint模块来打印的话,如下

from pprint import pprint
pprint(nested)

output

[['a', 'b', 'c', 's'],['s', 'd', 'f', 'f'],[1, 45, 4, 6, 7, 8],[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]]

我们还能够对键值对类型的数据进行格式化的输出,代码如下

import json
import pprint
from urllib.request import urlopenwith urlopen('https://pypi.org/pypi/sampleproject/json') as resp:project_info = json.load(resp)['info']pprint.pprint(project_info)

output

{'author': 'A. Random Developer','author_email': 'author@example.com','bugtrack_url': None,'classifiers': [.......],'description': [.......],'description_content_type': 'text/markdown','docs_url': None,'download_url': '','downloads': {.........},'home_page': 'https://github.com/pypa/sampleproject','keywords': 'sample setuptools development','license': '','maintainer': '','maintainer_email': '','name': 'sampleproject','package_url': 'https://pypi.org/project/sampleproject/','platform': '','project_url': 'https://pypi.org/project/sampleproject/','project_urls': ..........,'requires_dist': [..........],'requires_python': '>=3.5, <4','summary': 'A sample Python project','version': '2.0.0','yanked': False,'yanked_reason': None}

statistics

Python当中的statistics模块提供了更加完善的数据统计操作,例如对中位数的计算就提供了median_low()median_high()两种方法,分别来计算数据的低中位数(偶数个样本时取中间两个数的较小者),代码如下

statistics.median_low([1,3,5,7])

output

3

和高中位数(偶数个样本时取中间两个数的较大者),代码如下

statistics.median_high([1,3,5,7])

output

5

除此之外,例如平均数、众数、标准差、方差等等都能够计算,例如

x1 = statistics.mode([1,1,2,3,4,3,3,3,3])
print(x1)x2 = statistics.mode(["a","b","c","d","d","a","a",])
print(x2)

output

3
a

calendar

Python当中的日历模块提供了对日期的一系列操作方法,并且可以生成日历,代码如下

import calendar
print(calendar.calendar(2022))

output

                                  2022January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su1  2          1  2  3  4  5  6          1  2  3  4  5  63  4  5  6  7  8  9       7  8  9 10 11 12 13       7  8  9 10 11 12 13
10 11 12 13 14 15 16      14 15 16 17 18 19 20      14 15 16 17 18 19 20
17 18 19 20 21 22 23      21 22 23 24 25 26 27      21 22 23 24 25 26 27
24 25 26 27 28 29 30      28                        28 29 30 31
31April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su1  2  3                         1             1  2  3  4  54  5  6  7  8  9 10       2  3  4  5  6  7  8       6  7  8  9 10 11 12
11 12 13 14 15 16 17       9 10 11 12 13 14 15      13 14 15 16 17 18 19
18 19 20 21 22 23 24      16 17 18 19 20 21 22      20 21 22 23 24 25 26
25 26 27 28 29 30         23 24 25 26 27 28 29      27 28 29 3030 31
......

当然我们也可以打印出某一个月份的日历,代码如下

import calendar
print(calendar.month(2022, 3))

output

     March 2022
Mo Tu We Th Fr Sa Su1  2  3  4  5  67  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

calendar.isleap(year)是闰年则返回True,否则返回False,例如

import calendar
print(calendar.isleap(2022))

output

False

推荐文章

  • 李宏毅《机器学习》国语课程(2022)来了

  • 有人把吴恩达老师的机器学习和深度学习做成了中文版

  • 上瘾了,最近又给公司撸了一个可视化大屏(附源码)

  • 如此优雅,4款 Python 自动数据分析神器真香啊

  • 梳理半月有余,精心准备了17张知识思维导图,这次要讲清统计学

  • 年终汇总:20份可视化大屏模板,直接套用真香(文末附源码)

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

分享几个好用到爆的 Python 内置模块相关推荐

  1. 【经典原创】分享几个好用到爆的Python内置模块

    今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多 argparse Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命 ...

  2. 【Python】分享几个好用到爆的Python内置模块

    今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多 argparse Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命 ...

  3. 分享3个好用到爆的 Python 模块,点赞收藏

    作者 | 俊欣 来源 | 关于数据分析与可视化 今天给大家介绍3个特别好用的Python模块,知道的人可能不多,但是特别的好用. Psutil Pendulum Pyfiglet Psutil Pyt ...

  4. 分享3个好用到爆的Python模块,点赞收藏

    公众号后台回复"图书",了解更多号主新书内容 作者:俊欣 来源:关于数据分析与可视化 Psutil Pendulum Pyfiglet Psutil Python当中的Psutil ...

  5. 好用到爆!分享这几个Python内置模块!

    今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多 argparse Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命 ...

  6. 太牛了,24 个好用到爆的 Python 实用技巧

    在Python的学习过程中,很多小伙伴可能会想,我学了这么多,哪些是常用和实用的?怎样增加工作效率? 今天,我就总结了24个好用到爆的Python实用技巧,希望能对小伙伴们有帮助!欢迎收藏学习,喜欢点 ...

  7. Python培训教程分享:10款超好用的Python开发工具

    学会Python技术后,我们在参加工作的时候如果能有辅助工具的话,那么会很大程度的提高我们的工作效率,那么Python都有哪些好用的开发工具呢?下面小编就为大家详细的介绍一下10款超好用的Python ...

  8. 万字长文爆肝Python基础入门【巨详细,一学就会】

    目录 数据的名字和种类--变量和类型 初探数据种类 数据类型 数值运算 比较运算 变量和赋值 变量的好处 用赋值更新变量 变量和数据类型的关系 总结 数据类型 数值运算 数值比较 变量和赋值 一串数据 ...

  9. 好用到爆的Python自动化办公教程pdf,Python × Excel × Word × PPT 一次搞定

    在这个自动化时代,我们有很多重复无聊的工作要做.想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松.那么在本文中,我将向您介绍一个好用到爆的Python自动化办公教程pdf,P ...

最新文章

  1. Linux文件与目录管理(文件查阅)
  2. 自己写的web标准教程,帮你走进web标准设计的世界——第三讲(html终结篇)
  3. recyclerview 滑动到当前_Android recyclerview的滑动到指定的item
  4. SpringMVC拦截器2(资源和权限管理)(作为补充说明)
  5. 《统计学习方法》读书笔记(1)---学习的要素
  6. HTML5 — 让拖放变的流行起来
  7. 新手引导 自定义遮罩 点击穿透
  8. 产生1000w不重复的数字
  9. java单例模式使用_Java单例模式的应用
  10. 华为OSN3500与路由器混合组网
  11. js可以用的万年历API
  12. burst什么意思_burst是什么意思_burst在线翻译_英语_读音_用法_例句_海词词典
  13. 搭建vue脚手架(vue-cli)--基于vue2.0版本
  14. k8s1.23 Ingress-nginx实操
  15. 设计模式之禅【组合模式】
  16. 大学计算机课程ppt,北京大学计算机基础课程-PPT课件
  17. Android学习必经之路--apk反编译
  18. 用python爬取公众号推送图片并保存为PPT
  19. web项目开发一般流程
  20. A13处理器和A12Z处理器哪个更好?

热门文章

  1. opencv实现轮廓的内接正矩形
  2. Windows Media Player控件属性及方法(c#)以duration为什么总是“0”解决方法
  3. 帝国cms html5 编辑器,帝国cms 7.5 utf8集成百度编辑器完美集成版
  4. 图解|高性能服务器设计之缓存系统一致性
  5. android framelayout 高度,android - Android:如何将FrameLayout中的线性布局与底部对齐? - 堆栈内存溢出...
  6. 项目管理的22个基础知识点
  7. 进程间通信(三)(消息队列,信号量)
  8. SAP中内部订单清单功能
  9. 『‘gradle‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件』 已解决
  10. arap_djfb.payflag补充的触发器(付款未成功可以改客商名称)