python有用模块/包

news/2024/10/22 18:33:58/

random包

需要导入random包

import random

使用示例:

easydict

EasyDict允许以属性的形式访问字典值,且可以递归地访问。一种用于python字典属性的点表示法

from easydict import EasyDictd = EasyDict()
d.foo=3
print(d.foo)

d = EasyDict(log=False)
d.debug = True
print(d.items())

class Flower(EasyDict):power=1f =Flower({“height”:12})
print(f.power)
print(f[“power”])

tqdm模块

简介

tqdm means “progress” in Arabic (taqadum, تقدّم)and an abbreviation for “I love you so much” in Spanish (te quiero demasiado).

Instantly make your loops show a smartprogress meter - just wrap any iterable withtqdm(iterable), and you’re done!

注意是:from tqdm import tqdm

tqdm常用参数

with tqdm(total=100, desc='前缀', postfix='后缀', mininterval=0.3) as pbar:for i in range(100):time.sleep(0.1)  # 休眠0.1spbar.update(1)

上述代码中total参数是进度条的总长度 ,desc参数是进度条的前缀,postfix是进度条的后缀,minterval代表进度条的最小更新时间间隔,time.sleep(0.1)模拟任务的执行;

pbar.update(1)代表代码运行到这里进度条就加1,也就是说,pbar.update(2)就代表加2。但是进度条的状态更新还要看参数niminterval,若不设置该参数,则就是运行到pbar.update处就马上更新。

tqdm加enumerate

最好是,tqdm要加在enumerate里面:

enumerate(tqdm(iter_object))

import os
from tqdm importtqdm
import timeif __name__ == '__main__':x_list = [1, 2, 3, 4, 5]# for i,x in enumerate(x_list):#    print(f"i: {i}, x: {x}")# for i, x intqdm(enumerate(x_list)):#    print(f"i: {i}, x: {x}")for i, x in tqdm(enumerate(x_list), total=len(x_list)):# print(f"i: {i}, x:{x}")time.sleep(1)## 正确方式 ### for i, x inenumerate(tqdm(x_list)):#    # print(f"i: {i}, x: {x}")#    time.sleep(1)

多进程tqdm

with Pool(processes=4) as pool:result = list(tqdm(pool.imap(func_s, np.linspace(0, 2 *math.pi, 1000)), total=1000))
print(result)

对pandas的DataFrame使用tqdm

csv_df = pd.DataFrame(np.random.random((10000, 3)))for index, row in tqdm(csv_df.iterrows(), total=csv_df.shape[0]):time.sleep(0.1)with tqdm(total=len(list(csv_df.iterrows()))) as pbar:for index, row in csv_df.iterrows():pbar.update(1)time.sleep(0.1)

glob模块

简介

查找包含给定字符串的文件unique

glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:”*”, “?”, “[]”。”*”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字

glob.glob

返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。下面是使用glob.glob的例子:

import glob
#获取指定目录下的所有图片
print glob.glob(r"E:/Picture/*/*.jpg")
#获取上级目录的所有.py文件
print glob.glob(r'../*.py') #相对路径

glob.iglob

获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。这有点类似于.NET中操作数据库用到的DataSet与DataReader。下面是一个简单的例子:

import glob#父目录中的.py文件
f = glob.iglob(r'../*.py')
print f #<generator object iglob at 0x00B9FF80>
for py in f:print(py)

pprint模块

pprint – 美观打印

作用:美观打印数据结构

pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图。格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅读。输出尽可能放在一行上,分解为多行时则需要缩进。

傅里叶变换包

scipy.fftpack和numpy.fft

声音的包

from lisa import audiosupport
audiosupport.beep()

itertools模块

Infinite Iterators(无穷迭代器)

Iterators terminating on the shortest input sequence(迭代器终止于最短的输入序列)

Combinatoric generators(组合学函数)

常用函数

itertools.groupby()方法

difflib模块

difflib是python提供的比较序列(string list)差异的模块。

实现了三个类:

1>SequenceMatcher 任意类型序列的比较 (可以比较字符串)

2>Differ 对字符串进行比较

3>HtmlDiff 将比较结果输出为html格式.

符号

含义

'-'

包含在第一个系列行中,但不包含第二个。

'+'

包含在第二个系列行中,但不包含第一个。

' '

两个系列行一致

'?'

存在增量差异

'^'

存在差异字符

addict模块

下载

pip install addict

基本使用

from addict import Dict
configs = Dict()
configs.platform.status = "on"
configs.platform.web.task.name = "测试-1204"
configs.platform.web.periods.start = "2020-10-01"
configs.platform.web.periods.end = "2020-10-31"

click模块

Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现

Click 是通过装饰器来把一个函数方法装饰成命令行接口的

retry模块

retry(exceptions=Exception, tries=-1,delay=0, max_delay=None, backoff=1, jitter=0, logger=logging_logger)

@retry((ValueError, TypeError), tries=8,delay=0.1, backoff=2, jitter=0.1, max_delay=1)
def make_trouble():"""Retry on ValueError or TypeError, sleep 0.1, 0.3, 0.7, 1, 1, ... secondsbetween attempts."""print(1, time.time())raise ValueError('a')if __name__ == '__main__':make_trouble()

collections模型

counter

counter自有的三种方法:

counter的常用操作:

加减与交并:

元加减操作:

counter统计数量分布

统计数量分布

from collections import Counter
print(sorted(Counter(y).items()))

heapq

heapq.heappush(heap, item)

heapq.heapify(list)

heapq.heappop(heap)

heapq.heapreplace(heap.item)

heapq.heappushpop(list, item)

heapq.merge(…)

heapq.nlargest(n,heap)

heapq.nsmallest(n,heap)

比如:

cheap = heapq.nsmallest(3, portfolio, key=lambdas: s['price'])
expensive = heapq.nlargest(3,portfolio, key=lambda s: s['price'])

wmi

WMI (Windows Management Instrumentation) 模块可用于获取 Windows 内部信息,在使用Python获取Windows系统上的相关的信息可以使用WMI接口来获取。

WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程;远程启动计算机;获得本地或远程计算机的已安装程序列表;查询本地或远程计算机的Windows事件日志等等。

该模块需要 win32com 的支持,环境安装如下,

pip install wmi  
pip install pypiwin32  

测试安装结果

>>> import win32con
>>> import wmi

导入模块没有报错,证明安装完成


http://www.ppmy.cn/news/253491.html

相关文章

城市生活污水处理技术现状及活性炭的应用

城市生活污水主要包括厨房洗涤水、冲厕废水及其它生活杂水。该类废水含大量固体悬浮物、可化学或生物降解的溶解性或胶态分散有机物&#xff08;以COD和BOD表征&#xff09;、含氮化合物&#xff08;包括氨氮、硝酸盐氮、亚硝酸盐氮和有机氮&#xff09;、磷酸盐、钾钠及重金属…

活性炭滤纸-市场现状及未来发展趋势

根据QYR&#xff08;恒州博智&#xff09;的统计及预测&#xff0c;2021年全球活性炭滤纸市场销售额达到了 亿美元&#xff0c;预计2028年将达到 亿美元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;为 %&#xff08;2022-2028&#xff09;。地区层面来看&#xff0c;…

环洋市场调研-2022年全球活性炭纤维 (ACF)市场总体规模及应用细分研究报告

本文研究全球市场、主要地区和主要国家活性炭纤维 (ACF)的销量、销售收入等&#xff0c;同时也重点分析全球范围内主要厂商&#xff08;品牌&#xff09;竞争态势&#xff0c;活性炭纤维 (ACF)销量、价格、收入和市场份额等。 针对过去五年&#xff08;2017-2021&#xff09;年…

2022年版中国活性炭市场现状调研与投资前景预测分析报告

2022年版中国活性炭市场现状调研与投资前景预测分析报告 ═━┈┈━══━┈┈━══━┈┈━══━ 【报告编号】: 415326 【出版时间】: 2022年3月 【出版机构】: 中商经济研究网 第一章 中国活性炭行业发展综述 第一节 活性炭行业界定 一、 活性炭行业定义 二、…

Python基础(闭包函数、装饰器、模块和包)

-----------小编学习python的第九天总结------------ 闭包函数 格式&#xff1a;def 函数名1():def 函数名2():变量 值return 变量return 函数名2func 函数名1()key func()例&#xff1a; 闭包函数实际上延长了变量的生命周期&#xff0c;相当于使用了函数中的变量名&…

2022年全球市场活性炭回收和再活化服务总体规模、主要企业、主要地区、产品和应用细分研究报告

本文研究全球市场、主要地区和主要国家活性炭回收和再活化服务的销量、销售收入等&#xff0c;同时也重点分析全球范围内主要厂商&#xff08;品牌&#xff09;竞争态势&#xff0c;活性炭回收和再活化服务销量、价格、收入和市场份额等。针对过去五年&#xff08;2017-2021&am…

中国蜂窝活性炭市场现状研究分析与发展前景预测报告(2022)

【报告图表数】&#xff1a;141 【报告出版时间】&#xff1a;2021年12月 报告摘要 2021年中国蜂窝活性炭市场销售收入达到了 万元&#xff0c;预计2028年可以达到 万元&#xff0c;2022-2028期间年复合增长率(CAGR)为 %。中国市场核心厂商包括Kuraray、广东韩研活性炭、Ho…

粘胶短纤基活性炭纤维(ACF)市场现状及未来发展趋势

根据QYR&#xff08;恒州博智&#xff09;的统计及预测&#xff0c;2021年全球粘胶短纤基活性炭纤维(ACF)市场销售额达到了 亿美元&#xff0c;预计2028年将达到 亿美元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;为 %&#xff08;2022-2028&#xff09;。地区层面来…