31.Python从入门到精通—Python数据压缩 性能度量 测试模块

31.从入门到精通:Python数据压缩 性能度量 测试模块

  • 个人简介
    • 数据压缩
    • 性能度量
    • 测试模块

个人简介

🏘️🏘️个人主页:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。

💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。

在这里插入图片描述

🐘 希望大家能持续支持,共同向前迈进!😁
如果您觉得文章有价值,
欢迎留言💬,点赞👍,收藏🔖并关注我们➕🤝。
🪐💫💫💫💫💫💫💫热门专栏💫💫💫💫💫💫💫🪐
类型专栏
Python基础Python基础入门—详解版
Python进阶Python基础入门—模块版
Python高级Python网络爬虫从入门到精通🔥🔥🔥
Web全栈开发Django基础入门
Web全栈开发HTML与CSS基础入门
Web全栈开发JavaScript基础入门
Python数据分析Python数据分析项目🔥🔥
机器学习机器学习算法🔥🔥
人工智能人工智能

数据压缩

在Python中,可以使用内置的gzip和zipfile模块进行数据压缩和解压缩。
gzip模块用于gzip格式的压缩和解压缩,它提供了两个函数:gzip.compress()和gzip.decompress()。下面是一个简单的例子,说明如何使用gzip模块进行数据压缩和解压缩:

import gzip# 要压缩的数据
data = b"Hello, world!"# 压缩数据
compressed_data = gzip.compress(data)# 解压缩数据
decompressed_data = gzip.decompress(compressed_data)# 输出解压缩后的数据
print(decompressed_data)

在这个例子中,首先定义了一个要压缩的数据,然后使用gzip.compress()函数进行压缩,得到压缩后的数据。接着使用gzip.decompress()函数进行解压缩,得到原始数据。最后输出解压缩后的数据,可以看到输出的结果是原始数据。

  • zipfile模块用于zip格式的压缩和解压缩,它提供了ZipFile类,可以方便地对zip文件进行操作。

下面是一个简单的例子,说明如何使用zipfile模块进行数据压缩和解压缩:

import zipfile# 要压缩的文件
filename = "data.txt"# 压缩文件
with zipfile.ZipFile("data.zip", "w") as zip:zip.write(filename)# 解压缩文件
with zipfile.ZipFile("data.zip", "r") as zip:zip.extractall()

在这个例子中,首先定义了一个要压缩的文件,然后使用ZipFile类创建一个zip文件,并将要压缩的文件添加到zip文件中。接着使用ZipFile类进行解压缩,将zip文件中的所有文件解压缩到当前目录下。

性能度量

在Python中,可以使用time和timeit模块来进行性能度量。
time模块提供了一组函数,用于测量程序的运行时间。

下面是一个简单的例子,说明如何使用time模块测量程序的运行时间:

import time# 记录开始时间
start_time = time.time()
# 执行程序
print("Hello, world!")
# 记录结束时间
end_time = time.time()
# 计算程序运行时间
elapsed_time = end_time - start_time
# 输出程序运行时间
print("Elapsed time: {} seconds".format(elapsed_time))
  • 在这个例子中,首先使用time.time()函数记录程序开始时间,然后执行程序,最后使用time.time()函数记录程序结束时间。通过计算开始时间和结束时间之间的差值,可以得到程序的运行时间。

timeit模块提供了一个更加方便和精确的性能度量工具。它可以多次运行一个程序,并测量它的平均运行时间。

下面是一个简单的例子,说明如何使用timeit模块测量程序的运行时间:

import timeit# 执行程序的代码
code = "print('Hello, world!')"
# 测量程序的运行时间
elapsed_time = timeit.timeit(code, number=1000)
# 输出程序运行时间
print("Elapsed time: {} seconds".format(elapsed_time))

在这个例子中,首先定义了要执行的程序代码,然后使用timeit.timeit()函数多次运行这段代码,并测量它的平均运行时间。通过指定number参数,可以控制运行代码的次数。

需要注意的是,性能度量的结果可能会受到多种因素的影响,例如硬件性能、操作系统、Python版本等等。因此,在进行性能度量时,需要尽可能消除这些因素的影响,以得到更加准确的结果。

测试模块

在Python中,有很多测试框架可以用于编写和运行测试代码。其中最常用的测试框架是unittest模块。
unittest模块提供了一组类和方法,用于编写和运行测试代码。下面是一个简单的例子,说明如何使用unittest模块进行测试:

import unittestdef add(a, b):return a + bclass TestAdd(unittest.TestCase):def test_add(self):self.assertEqual(add(1, 2), 3)self.assertEqual(add(0, 0), 0)self.assertEqual(add(-1, 1), 0)if __name__ == '__main__':unittest.main()
  • 在这个例子中,首先定义了一个add函数,用于计算两个数的和。然后定义了一个TestAdd类,继承自unittest.TestCase类。在TestAdd类中,定义了一个test_add方法,用于测试add函数的正确性。在test_add方法中,使用self.assertEqual方法进行断言,判断add函数的返回值是否等于预期值。
  • 最后,使用unittest.main()函数运行测试代码。运行测试代码时,unittest会自动查找所有以test开头的方法,并运行它们。在运行过程中,unittest会输出测试结果,包括测试通过的数量和测试失败的数量。
  • 除了unittest模块之外,还有其他一些测试框架,例如pytest和nose。这些测试框架提供了更加灵活和方便的API,可以更加方便地编写和运行测试代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分类预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记忆网络多输入分类预测

分类预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记忆网络多输入分类预测 目录 分类预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记忆网络多输入分类预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 MATLAB实现BO-CNN-LSTM贝叶斯优化卷积长短期记…

深度好文:解决Ubuntu 18.04安装nvidia显卡驱动,导致内核不匹配:无需重装系统修复内核

深度好文:解决Ubuntu 18.04安装nvidia显卡驱动,导致内核不匹配:无需重装系统修复内核 目录 一、问题描述二、尝试修复三、安装Nvidia驱动和CUDA并配置cuDNN四、总结 一、问题描述 昨天打算更新一下Ubuntu 18.04的显卡驱动,以支持…

Eclipse新建java类的操作流程

一、在左侧空白区域,点击鼠标右键。 二、点击new,选择Java Project (由于这里不知道怎么截图,就用手机拍了一张,希望不要介意) 三、 给project文件起个名字,其他都不用管,点击Finis…

云防护是怎么能帮助用户做好网络安全

在数字化时代,网络安全威胁呈现出愈发复杂和多样化的趋势。 无论是个人用户、小型企业还是大型企业,都面临着来自全球各地的网络攻击风险。这些攻击可能导致数据泄露、服务中断、财务损失甚至声誉受损。因此,采取有效的安全防护措施变得至关…

HarmonyOS 应用开发之Stage模型启动FA模型PageAbility

本小节介绍Stage模型的两种应用组件如何启动FA模型的PageAbility组件。 UIAbility启动PageAbility UIAbility启动PageAbility和UIAbility启动UIAbility的方式完全相同。 说明: 需注意FA模型中abilityName由bundleName AbilityName组成,具体见示例。 i…

不允许你不知道的 MySQL 优化实战(一)

文章目录 1、查询SQL尽量不要使用select *,而是select具体字段。2、如果知道查询结果只有一条或者只要最大/最小一条记录,建议用limit 13、应尽量避免在where子句中使用or来连接条件4、优化limit分页5、优化你的like语句6、使用where条件限定要查询的数据…

uniapp开发App(二)开通 微信授权登录功能(应用签名、证书、包名 全明白)

前言:开发App肯定要包含登陆,常用登陆方式很多,我选择微信登陆。 一、如何获得微信的授权登陆 答:申请,根据uniapp官网的提示有如下三个步骤 开通 1. 登录微信开放平台区,添加移动应用并提交审核&#xf…

C语言中的文件和文件操作

目录 为什么会有文件? 文件名 ⼆进制⽂件和⽂本⽂件? ⽂件的打开和关闭 流 标准流 ⽂件指针 ⽂件的打开和关闭 顺序读写函数介绍 对⽐⼀组函数: 文件的随机读写 fseek ftell rewind ⽂件读取结束的判定 被错误使⽤的 feof ⽂件…

PCL点云处理之重复随机采样一致性(RRANSAC法)平面拟合(二百三十七)

PCL点云处理之重复随机采样一致性(RRANSAC法)平面拟合(二百三十七) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 pcl::SAC_RRANSAC"是 PCL库中的一个方法,是 RANSAC 方法的改进版本,通过多次重复采样和模型拟合来提高鲁棒性。RRANSAC 的思想是在 RANSAC 的基…

基于深度学习的图书管理推荐系统(python版)

基于深度学习的图书管理推荐系统 1、效果图 1/1 [] - 0s 270ms/step [13 11 4 19 16 18 8 6 9 0] [0.1780757 0.17474999 0.17390694 0.17207369 0.17157653 0.168248440.1668652 0.16665359 0.16656876 0.16519257] keras_recommended_book_ids深度学习推荐列表 [9137…

Windows提权!!!

之前讲过一下提权,但是感觉有点不成体系,所以我们就成体系的来讲一下这个操作系统的提权 目录 Windows的提权 1.Widnows的内核溢出提权 1.MSF自带的提权模块(Win11都能提上来,有点牛逼) 2.CS的插件提权 3.补丁对比…

透视未来安全:PIR技术引领数据隐私新时代

1.隐语实现PIR总体介绍 隐语实现的Private Information Retrieval (PIR) 是一种隐私增强技术,它使用户能够在不暴露他们实际查询内容的情况下从远程服务器数据库中检索所需信息。以下是隐语在实现PIR方面的概要说明和技术特点: 基本概念: PI…

【蓝桥杯】矩阵快速幂

一.快速幂概述 1.引例 1)题目描述: 求A^B的最后三位数表示的整数,A^B表示:A的B次方。 2)思路: 一般的思路是:求出A的B次幂,再取结果的最后三位数。但是由于计算机能够表示的数字…

[linux初阶][vim-gcc-gdb] TwoCharter: gcc编译器

目录 一.Linux中gcc编译器的下载与安装 二.使用gcc编译器来翻译 C语言程序 ①.编写C语言代码 ②翻译C语言代码 a.预处理 b.编译 c.汇编 d.链接 ③.执行Main 二进制可执行程序(.exe文件) 三.总结 一.Linux中gcc编译器的下载与安装 使用yum命令(相当于手机上的应用…

10_MVC

文章目录 JSON常用的JSON解析Jackson的常规使用指定日期格式 MVC设计模式MVC介绍前后端分离案例(开发与Json相关接口) 三层架构三层架构介绍 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,是存…

JUC并发编程(七)

1、不可变对象 1.1、概念 不可变类是指一旦创建对象实例后,就不能修改该实例的状态。这意味着不可变类的对象是不可修改的,其内部状态在对象创建后不能被更改。不可变类通常具有以下特征: 实例状态不可改变:一旦不可变类的对象被…

unordered系列容器OJ

目录 1、unordered系列容器 2、unordered系列容器OJ 1、重复n次的元素 2、两个数组的交集I 3、两个数组的交集II 4、存在重复元素 5、两句话中不常见的单词 1、unordered系列容器 在C标准库中,unordered系列容器是基于哈希表实现的, 用于存储唯一…

用html实现一个文章图片缩略展示

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>文章图片缩略展示</title><link rel"stylesheet" href"./style.css"> </head> <body> <div class&qu…

初始《string》及手搓模拟实现《string》

目录 前言&#xff1a; 为什么学习string类&#xff1f; 标准库中的string类 1. string类对象的常见构造 ​编辑 2. string类对象的容量操作 ​编辑 3. string类对象的访问及遍历操作 4. string类对象的修改操作 5. string类非成员函数 vs和g下string结构的说明 vs下s…

k8s1.28.8版本安装prometheus并持久化数据

本文参考 [k8s安装prometheus并持久化数据_/prometheus-config-reloader:-CSDN博客](https://blog.csdn.net/vic_qxz/article/details/119598466)前置要求: 已经部署了NFS或者其他存储的K8s集群. 这里注意networkpolicies网络策略问题&#xff0c;可以后面删除这个策略&#x…