当前位置: 首页 > news >正文

python全栈学习记录(十九) hashlib、shutil和tarfile、configparser

hashlib、shutil和tarfile、configparser

文章目录

  • hashlib、shutil和tarfile、configparser
  • 一、hashlib
  • 二、shutil和tarfile
    • 1.shutil
    • 2.tarfile
  • 三、configparser

一、hashlib

hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值。如果把hash算法比喻为一座工厂,那传给hash算法的内容就是原材料,生成的hash值就是生产出的产品。

hash值三大特性:

  1. 只要传入的内容一样,得到的hash值必然一样
  2. 只要我们使用的hash算法固定,无论传入的内容有多大,得到的hash值的长度是固定的
  3. 不可以用hash值逆推出原来的内容

基于1和2可以在下载文件时做文件一致性校验,基于1和3可以对密码进行加密。

import hashlib
#hashlib有许多加密的算法,md5是比较常见的一种,其他还有sha256、sha512等
h=hashlib.md5()
#将字符传给hashlib
h.update('123'.encode('utf-8'))
h.update('hello'.encode('utf-8'))
print(h.hexdigest())
<<<86fcb4c0551ea48ede7df5ed9626eee7

由于只使用加密算法加密的数据容易被破解出来,一般对密码的加密操作中,还会进行加盐操作,在python中可以使用hmac模块完成此操作。

import hmac,hashlib
h=hmac.new('12345678'.encode('utf-8'),digestmod=hashlib.md5)
print(h.hexdigest())

二、shutil和tarfile

1.shutil

shutil模块常用来进行文件操作。

import shutil
#将文件a拷贝到文件b
shutil.copyfile(a,b)
#将文件a的权限拷贝至文件b(b必须存在)
shutil.copymode(a,b)
#递归拷贝文件夹a至文件夹b处,并忽略以.pyc结尾和以tmp开头的文件
shutil.copytree(a,b,ignore=shutil.ignore_patterns('*.pyc','tmp*'))
#递归删除文件夹
shutil.rmtree(a)
#移到文件/文件夹a至b处(可用来重命名文件)
shutil.move(a,b)
#将b中文件按format格式压缩打包为a文件
shutil.make_archive(a,format,b)

2.tarfile

tarfile库包含一些对tar文件的操作,例如解压缩.tar.gz

import tarfile
with tarfile.open('example.tar.gz', 'r') as tar:tar.extractall(path='dest/')tar.close()

三、configparser

configparser模块常用来操作一些配置文件,如cfg、ini、cnf等

import configparser
config=configparser.ConfigParser()
#读取配置文件,如cfg、ini、cnf
config.read('config.ini')
#取出文件标题
config.sections()
#取出文件标题'e'下的键
config.options('e')
#取出标题'e'下键'age'的值,返回字符串
config.get('e','age')
#取出文件标题'e'下的键值对并返回列表
config.items('e')

相关文章:

python全栈学习记录(十九) hashlib、shutil和tarfile、configparser

hashlib、shutil和tarfile、configparser 文章目录 hashlib、shutil和tarfile、configparser一、hashlib二、shutil和tarfile1.shutil2.tarfile 三、configparser 一、hashlib hash是一种算法&#xff0c;该算法接受传入的内容&#xff0c;经过运算得到一串hash值。如果把hash…...

RL进阶(一):变分推断、生成模型、SAC

参考资料: 视频课程《CS285: Deep Reinforcement Learning, Decision Making, and Control》第18讲、第19讲,Sergey Levine,UCerkeley课件PDF下载:https://rail.eecs.berkeley.edu/deeprlcourse/主要内容:变分推断、生成模型、以及Soft Actor-Critic。变分推断在model-bas…...

WPF 绑定 DataGrid 里面 Button点击事件 TextBlock 双击事件

TextBlock双击事件 <DataGridTemplateColumn Width"*" Header"内标"><DataGridTemplateColumn.CellTemplate><DataTemplate><Grid><TextBlockBackground"Transparent"Tag"{Binding InternalId}"Text"…...

828华为云征文|华为云Flexus云服务器X实例Windows系统部署一键短视频生成AI工具moneyprinter

在追求创新与效率并重的今天&#xff0c;我们公司迎难而上&#xff0c;决定自主搭建一款短视频生成AI工具——MoneyPrinter&#xff0c;旨在为市场带来前所未有的创意风暴。面对服务器选择的难题&#xff0c;我们经过深思熟虑与多方比较&#xff0c;最终将信任票投给了华为云Fl…...

非标精密五金加工的技术要求

非标精密五金加工在现代制造业中占据着重要地位&#xff0c;其对于产品的精度、质量和性能有着较高的要求。以下是时利和整理的其具体的技术要求&#xff1a; 一、高精度的加工设备 非标精密五金加工需要先进的加工设备来保证加工精度。例如&#xff0c;高精度的数控机床是必不…...

新手小白怎么通过云服务器跑pytorch?

新手小白怎么通过云服务器跑pytorch&#xff1f;安装PyTorch的步骤可以根据不同的操作系统和需求有所差异&#xff0c;通过云服务器运行PyTorch的过程主要包括选择GPU云服务器平台、配置服务器环境、部署和运行PyTorch模型、优化性能等步骤。具体步骤如下&#xff1a; 第一步&a…...

Spring 全家桶使用教程

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

Spark SQL性能优化高频面试题及答案

目录 高频面试题及答案1. 如何通过分区&#xff08;Partitioning&#xff09;优化Spark SQL查询性能&#xff1f;2. 什么是数据倾斜&#xff08;Data Skew&#xff09;&#xff1f;如何优化&#xff1f;3. 如何使用广播&#xff08;Broadcast&#xff09;优化Join操作&#xff…...

云原生链路观测平台 openobserve + fluent-bit,日志收集

grpc-opentracing https://github.com/grpc-ecosystem/grpc-opentracing openobserve fluent-bit 为啥会选择这个组合 一个 rust 写的一个是c写的&#xff0c;性能和内存方面不用担心&#xff0c;比java 那套好太多了 openobserve 文档 &#xff1a;https://openobserve.ai/…...

Android 车载应用开发指南 - CarService 详解(下)

车载应用正在改变人们的出行体验。从导航到娱乐、从安全到信息服务&#xff0c;车载应用的开发已成为汽车智能化发展的重要组成部分。而对于开发者来说&#xff0c;如何将自己的应用程序无缝集成到车载系统中&#xff0c;利用汽车的硬件和服务能力&#xff0c;是一个极具挑战性…...

【Linux网络 —— 网络基础概念】

Linux网络 —— 网络基础概念 计算机网络背景网络发展 初始协议协议分层协议分层的好处 OSI七层模型TCP/IP五层(或四层)模型 再识协议为什么要有TCP/IP协议&#xff1f;什么是TCP/IP协议&#xff1f;TCP/IP协议与操作系统的关系所以究竟什么是协议&#xff1f; 网络传输基本流程…...

el-form动态标题和输入值,并且最后一个输入框不校验

需求&#xff1a;给了固定的label&#xff0c;叫xx单位&#xff0c;要输入单位的信息&#xff0c;但是属性名称都一样的&#xff0c;UI画图也是表单的形式&#xff0c;所以改为动态添加的形式&#xff0c;实现方式也很简单&#xff0c;循环就完事了&#xff0c;连着表单校验也动…...

一,初始 MyBatis-Plus

一&#xff0c;初始 MyBatis-Plus 文章目录 一&#xff0c;初始 MyBatis-Plus1. MyBatis-Plus 的概述2. 入门配置第一个 MyBatis-Plus 案例3. 补充说明&#xff1a;3.1 通用 Mapper 接口介绍3.1.1 Mapper 接口的 “增删改查”3.1.1.1 查询所有记录3.1.1.2 插入一条数据3.1.1.3 …...

安卓13删除下拉栏中的关机按钮版本2 android13删除下拉栏关机按钮

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 顶部导航栏下拉可以看到,底部这里有个设置按钮,点击可以进入设备的设置页面,这里我们将更改为删除,不同用户通过这个地方进入设置。我们之前写过一个文章也是一样的删除…...

快递物流单号识别API接口代码

官网&#xff1a;快递鸟 API参数 一、接口描述/说明 &#xff08;1&#xff09;该接口仅对运单号做出识别&#xff0c;识别可能属于的一家或多家快递公司。 &#xff08;2&#xff09;接口并不返回物流轨迹&#xff0c;用户可结合即时查询接口和订阅查询接口完成轨迹查询、订…...

AI时代的程序员:如何保持和提升核心竞争力

1.引言 随着AIGC&#xff08;如 ChatGPT、Midjourney、Claude 等&#xff09;大语言模型的快速崛起&#xff0c;AI辅助编程工具逐渐成为程序员工作的重要组成部分。这一转变不仅改变了工作方式&#xff0c;更深刻影响了程序员的职业角色和技术路径。有人担心&#xff0c;AI将取…...

Oracle 数据库常用命令与操作指南

Oracle 数据库是企业级系统中常用的数据库管理系统&#xff0c;掌握基础的命令可以让你在日常管理中更加高效。本指南将介绍几条常用的 Oracle 数据库命令&#xff0c;涵盖用户权限管理、修改用户密码、删除用户、以及其他日常操作。 目录 授权用户操作权限使用最高权限登录 O…...

spring boot项目对接人大金仓

先确认一下依赖 第一 是否引入了mybatis-plus多数据源&#xff0c;如果引入了请将版本保持在3.5.0以上 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>${dynam…...

《操作系统 - 清华大学》1 -2:操作系统概述 —— 什么是操作系统

文章目录 1. 操作系统定义2. 操作系统的位置3. 操作系统软件的分类4. 操作系统软件的组成5. 操作系统内核特征 现在来继续讲什么是操作系统&#xff0c;操作系统什么样的&#xff1f;它是一个程序&#xff0c;它和其他程序是什么样的关系&#xff1f;然后它有些什么样的组成&am…...

power bi制作各季度收入累加柱状图——日期表、calculate、datesytd

一、数据介绍&#xff1a; 2017-2019年订单销售收入数据&#xff08;订单日期&#xff0c;销售收入&#xff09; 二、效果展示&#xff1a; 三、操作步骤&#xff1a; 1、建立日期表 &#xff08;1&#xff09;建立原因 本次度量值编写需要运用到datesytd这一时间智能函数…...

如何安全备份微信聊天记录:PyWxDump工具使用全指南

如何安全备份微信聊天记录&#xff1a;PyWxDump工具使用全指南 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 你是否曾因误删重要微信对话而懊悔不已&#xff1f;是否想永久保存珍贵聊天记录却不知从何下手&#xff1f;Py…...

Translumo:5分钟掌握Windows实时屏幕翻译终极指南

Translumo&#xff1a;5分钟掌握Windows实时屏幕翻译终极指南 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 你是否在玩外…...

MTKClient终极指南:解锁联发科芯片调试的专业解决方案

MTKClient终极指南&#xff1a;解锁联发科芯片调试的专业解决方案 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient MTKClient作为一款专为联发科&#xff08;MediaTek&#xff09;芯片设计的…...

Path of Building:3个步骤从Build小白到规划大师的完整指南

Path of Building&#xff1a;3个步骤从Build小白到规划大师的完整指南 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building作为流放之路玩家最信赖的Build规…...

DLP/SLA光固化3D打印技术解析与Ember打印机实战指南

1. DLP/SLA 3D打印技术深度解析&#xff1a;从光与树脂的对话说起如果你是从FDM&#xff08;熔丝制造&#xff09;打印转向树脂打印的&#xff0c;那感觉就像从开手动挡卡车换到了开精密数控机床。DLP&#xff08;数字光处理&#xff09;和SLA&#xff08;立体光刻&#xff09;…...

终极ThinkPad风扇控制指南:告别噪音,拥抱静音高效

终极ThinkPad风扇控制指南&#xff1a;告别噪音&#xff0c;拥抱静音高效 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否曾经因为ThinkPad风扇的"直升机起…...

AI量化交易实战:从机器学习模型到加密货币对冲基金系统构建

1. 项目概述&#xff1a;一个面向加密货币的AI对冲基金框架最近几年&#xff0c;AI在量化交易领域的应用已经从实验室走向了实战&#xff0c;尤其是在波动性极高的加密货币市场。如果你对量化交易和机器学习感兴趣&#xff0c;并且想找一个能直接上手、结构清晰的实战项目来学习…...

WipperSnapper+Adafruit IO:无代码物联网开发实战,从传感器到云端自动化

1. 项目概述与核心价值如果你和我一样&#xff0c;在物联网&#xff08;IoT&#xff09;项目初期&#xff0c;常常被复杂的嵌入式编程、网络协议和云平台对接搞得焦头烂额&#xff0c;那么今天分享的这个实战项目&#xff0c;或许能让你眼前一亮。我们这次不谈复杂的代码&#…...

如何让Photoshop图层批量导出速度提升3倍?这个开源脚本做到了!

如何让Photoshop图层批量导出速度提升3倍&#xff1f;这个开源脚本做到了&#xff01; 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Ado…...

量子退火与经典优化结合的金融投资组合优化实践

1. 量子退火与经典优化结合的金融投资组合优化实践在金融投资领域&#xff0c;如何构建最优投资组合一直是核心挑战。传统方法如现代投资组合理论(MPT)和均值-方差优化(MVO)虽然奠定了理论基础&#xff0c;但在处理大规模资产配置时往往面临计算效率瓶颈。近年来&#xff0c;量…...