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

快速上手springboot+vue的前后端分离项目 使用webStorm新建项目后,把 .lock文件删除后项目运行才不报错,配置文件 vue.config.js 中加入 lintOnSave: false 关闭eslint语法检测。在多层嵌套的父子组件之间传递状态已经十分麻烦,而Vue更是没有为兄弟组件提供直接共享数据的办法。基于这个问题,许多框架提供了解决方案——使用全局的状态管理器,将所有分散的共享数据交由状态管理器保管,Vue也不例外。其中一种解决CORS 的方法, 在springboot项目中跨域的方法或类加上@CrossOrigin注解。 阅读详情

f57f445ddfb19011df2b5cd1e7d3029a.png

今天介绍几个好用到爆的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 俊欣

就会出现以下的结果

Hello 俊欣!

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

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] name

positional arguments:
  name

optional 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] name

positional arguments:
  name        Enter your name

optional 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 俊欣 24

output

Hello 俊欣! 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 urlopen

with 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

2022

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6          1  2  3  4  5  6
 3  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
31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3                         1             1  2  3  4  5
 4  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 30
                          30 31
......

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

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

output

March 2022
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  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

Python机器人公众号正式上线了


 
推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看原创200个趣味案例!

IEC61850规约客户端软件开发实战(第六章) IEC 61850标准中的GOOSE(Generic Object Oriented Substation Event,面向通用对象的变电站事件)功能是变电站自动化系统的核心通信机制,主要用于实现智能电子设备(IED)间高可靠性、低延时的实时信号传输。本章简述其核心功能与技术特点。 阅读详情

相关推荐

使用BK3432芯片进行蓝牙开发的详细指南:编程手册与实际应用

BK3432是一款蓝牙4.2双模式芯片,支持蓝牙低功耗(BLE)和经典蓝牙(BR/EDR)模式。它集成了高性能的RF收发器、基带处理器、ARM9E内核、丰富的功能外设单元,并支持BLE应用的可编程协议和概要文件。蓝牙版本:4.2数据速率:最高支持2Mbps内核:ARM9ERF收发器:高性能、低功耗外设单元:包括UART、SPI、I2C、GPIO等功耗:超低功耗设计,适合电池供电的应用。

m0_57781768的博客 4456

【Python】分享几个好用到爆的第三方Python模块

今天给大家分享几个非常好用的Python第三方库,我们在日常的工作学习当中或者是项目开发过程当中使用它们,也可以使得项目开发、工作学习的效率大大提高,同时这些第三方库在github上也获得了相当多的好评和关注度。xmltodict首先给大家介绍的第三方模块叫做xmltodict,我们从名字上就可以非常直观地看出,该模块的作用在于将xml格式的数据转换成字典,要是没有安装该模块的童鞋,可以通过pip...

fengdu78的博客 604

基于PLC的图书馆机器人设计与仿真

本文设计了一种基于PLC的图书馆机器人系统,该系统能提升图书馆自动化管理水平,选用西门子S7-1200系列PLC作为核心控制单元,结合电机驱动、传感器采集以及超声波避障等技术,设计出机器人行走、图书识别与分拣的功能模块,系统借助条形码扫描模块获取图书信息,将其分析后与设定的存放位置做对比,精准达成图书的存取和归还。仿真结果显示,机器人执行任务时运动控制响应时间是0.35秒,避障成功率为98.3%,图书识别准确率高达99.4%,在控制系统方面,运用STEP7-MICRO/WIN软件编程,结合WINCC设计组态

weixin_44553616的博客 1926

好用的内置模块Ⅱ

目录 一, random模块 二, 日志模块 三, collections模块 四, re模块: 正则表达式 一, random模块 import random # 随机小数 random.random() # 大于0且小于1之间的小数 random.uniform...

weixin_30762087的博客 249

使用 Unity Sentis 和 Compute Shader,det_10g.onnx 进行高效人脸五官定位

在计算机视觉领域,人脸五官定位是一个重要的任务。本文将介绍如何使用 Unity Sentis 和 Compute Shader,结合模型,实现高效的人脸五官定位。我们将详细讲解每一步骤,并提供完整的代码示例。

m0_55632444的博客 2394

Anylabeling与SAM协同:从智能标注到YOLO数据集构建的完整实践

本文详细介绍了Anylabeling与SAM协同标注的完整实践,从智能标注到YOLO数据集构建的全流程。通过结合SAM的自动分割能力和Anylabeling的交互式标注,显著提升标注效率,特别适合小样本、复杂形状和多类别标注场景。文章还提供了环境搭建、标注优化技巧以及YOLO格式转换的实用指南。

weixin_26873711的博客 461

推荐3个特别实用的 Python 模块,值得收藏

大家好,今天给大家介绍3个特别好用的Python模块,知道的人可能不多,但是特别的好用。 Psutil Pendulum Pyfiglet Psutil Python当中的Psutil模块是个跨平台库,它能够轻松获取系统运行的进程和系统利用率,包括CPU、内存、磁盘、网络等信息,它的安装也非常的简单,命令行 pip install psutil 这里因为整体的篇幅有限,小编就暂时只罗列几个常用的方法,例如我们想要查看一下CPU的利用率 psutil.cpu_percent() 返回的结果

Python学习与数据挖掘 1921

RTL8211F千兆PHY原理图与PCB设计:从手册到量产的完整指南

在工业网关、边缘计算和FPGA/CPU以太网扩展设计中,千兆PHY芯片的稳定运行取决于外围电路的精细设计。RTL8211F(I)作为应用广泛的物理层收发器,其原理图设计涉及电源域划分、时钟与复位时序、RGMII/ MDIO接口匹配以及MDI差分网络等多个环节。正确理解数据手册的阅读顺序,掌握100Ω差分阻抗控制、等长约束和EMI布局技巧,是保证链路可靠性和信号完整性的关键。本文从芯片选型与数据手册解析切入,系统梳理从电源去耦到PCB布局布线的工程实践要点,帮助工程师规避Link不稳定、MDIO读取失败、吞吐

weixin_28721917的博客 354

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

今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多argparsePython当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命令行接口,我们先来看一个例子importargparse #解析参数 parser=argparse.ArgumentParser() parser.add_argum...

weixin_43373042的博客 795

2023年全国职业院校技能大赛 网络系统管理服务模块 Linux部分讲解

网络系统管理,Linux,服务部署,Chinaskills,2023国赛

weixin_62926639的博客 1550

Java零基础之多线程篇:线程间如何通信?

随着计算机技术的发展,多线程编程已经成为现代软件开发中的一个重要方向。在多线程编程中,线程间的通信是一个非常关键的问题。在Java开发语言中,Java提供了一些机制来实现线程间的通信,帮助开发者协调不同线程之间的执行顺序和数据交换。本文将介绍Java多线程编程中的线程间通信的相关知识。首先,我们将从简介开始,介绍线程间通信的基本概念和原理。然后,我们将通过源代码解析的方式,深入探讨Java中实现线程间通信的方法。接着,我们将给出一些应用场景案例,展示线程间通信在实际开发中的应用。

喵手的博客 1558

python中常见的内置模块

模块 在python中,一个.py文件就是一个模块(xxx.py)。 通过创建者对模块进行分类: 1.python的内置模块 random os os.path 2.需要自己安装的第三方模块 3.自定义模块 导入模块的方式: 1.import 模块名字 2.import 模块名字 as 别名 使用模块中的内容: from......import...... 一、random模块 randint:产生随机数[x,y] random:产生0-1之间的随机数 uniform:产生正态分

Word_Smith_的博客 2649

卷积神经网络中的自注意力机制(Self-Attention Mechanism)

卷积神经网络中的机制表现为操作,其实现过程与Seq2Seq模型的自注意力机制类似。标准的卷积层是一种局部滤波操作,其输出特征上的任意位置是由对应输入特征的一个邻域构造的,只能捕捉局部特征之间的关系。而自注意力机制通过计算任意两个位置之间的关系直接捕捉远程依赖,而不用局限于相邻点,相当于构造了一个的卷积核,从而可以捕捉更多信息。在卷积网络的自注意力机制中,首先构造输入特征x的键特征fx, 查询特征gx和值特征hx;

AI天才研究院 1501

分享几个好用到爆的 Python 内置模块

今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多,喜欢记得收藏、点赞、关注。 argparse Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命令行接口,我们先来看一个例子 import argparse # 解析参数 parser = argparse.ArgumentParser() parser.add_argument("name") args = parser.parse_args() # 打印结果 print

Python学习与数据挖掘 2184

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

分享几个好用到爆的Python内置模块

今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多 argparse Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命令行接口,我们先来看一个例子 import argparse # 解析参数 parser = argparse.ArgumentParser() parser.add_argument("name") args = parser.parse_args() # 打印结果 print(f'Hello {args

m0_59164520的博客 135

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

好用到爆,分享这几个Python内置模块

今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多 argparse Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命令行接口,我们先来看一个例子 import argparse # 解析参数 parser = argparse.ArgumentParser() parser.add_argument("name") args = parser.parse_args() # 打印结果 print(f'Hello {args

m0_59236548的博客 149

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

今天介绍几个好用到爆的Python内置库,相信大家看过之后会对今后的Python编程帮助多多argparsePython当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命令行接口,我们先来看一个例子importargparse #解析参数 parser=argparse.ArgumentParser() parser.add_argum...

fengdu78的博客 217

好用到爆~ 分享这几个Python内置模块

argparse Python当中的argparse模块主要用于命令行的参数解析,可以帮助用户轻松地编写命令行接口,我们先来看一个例子。 import argparse # 解析参数 parser = argparse.ArgumentParser() parser.add_argument("name") args = parser.parse_args() # 打印结果 print(f'Hello {args.name}!') 然后我们在终端当中运行以下的代码: python python_

m0_59485658的博客 180

【Python】分享几个好用到爆的模块,建议收藏!

今天小编来给大家推荐几个在自动化办公领域当中非常好用的Python模块,可以帮助大家在工作当中及大地提高效率,避免重复机械化地操作流程。Pathlib涉及到文件系统操作的时候,相信不少人仍然在使用Python当中的OS模块,相比较之下,Pathlib模块有着不少优势,我们来看几个简单的案例删除与创建目录例如我们可以来创建与删除目录,代码如下frompathlibimp...

fengdu78的博客 621

分享几个好用到爆的 Python 模块,建议收藏!

作者 | 俊欣来源 |关于数据分析与可视化今天小编来给大家推荐几个在自动化办公领域当中非常好用的Python模块,可以帮助大家在工作当中及大地提高效率,避免重复机械化地操作流程。Pathlib涉及到文件系统操作的时候,相信不少人仍然在使用Python当中的OS模块,相比较之下,Pathlib模块有着不少优势,我们来看几个简单的案例。删除与创建目录例如我们可以来创建与删除...

AI科技大本营 479

两个好用到爆的Python模块,建议收藏!

最常见的一个例子就是:在进行地理可视化中,自己收集的数据只保留的缩写,比如北京,广西,新疆,西藏等,但是待匹配的字段数据却是北京市,广西壮族自治区,新疆维吾尔自治区,西藏自治区等,如下。fuzz这几个ratio()函数(方法)最后得到的结果都是数字,如果需要获得匹配度最高的字符串结果,还需要依旧自己的数据类型选择不同的函数,然后再进行结果提取,如果但看文本数据的匹配程度使用这种方式是可以量化的,但是对于我们要提取匹配的结果来说就不是很方便了,因此就有了process模块。让你轻松解决烦恼的匹配问题!

2401_86168842的博客 1180

【Python自动化办公】分享几个好用到爆的模块,建议收藏

今天我来给大家推荐几个在自动化办公领域当中非常好用的Python模块,可以帮助大家在工作当中及大地提高效率,避免重复机械化地操作流程。

Python学习与数据挖掘 996

【Python自动化办公】分享几个好用到爆的模块,建议收藏!

今天小编来给大家推荐几个在自动化办公领域当中非常好用的Python模块,可以帮助大家在工作当中及大地提高效率,避免重复机械化地操作流程。Pathlib涉及到文件系统操作的时候,相信不少人仍然在使用Python当中的OS模块,相比较之下,Pathlib模块有着不少优势,我们来看几个简单的案例删除与创建目录例如我们可以来创建与删除目录,代码如下frompathlibimp...

weixin_43373042的博客 356

好用到爆 !20个Python爬虫工具包分享 !

我相信很多人跟我都有相同的经历:想在网上找点资源,却因为种种原因而得不到。不要急,看完这篇文章,我想你应该知道该怎么做了。有了 Python 爬虫技巧,相信很多平时你想要的资源,它都可以帮你实现。本文我将给大家分享目前做爬虫所涉及的 Python 库,总会一款是你的最爱。

xiaolinyui的博客 6402
上一篇: 99%的老鸟都不知道!Python 的八个实用的“无代码”特性!
下一篇: 学习Flask主站源码,原来可以这样学!
菜鸟学Python
博客等级 码龄9年 8084粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值