Python基础之hashlib模块subprocess模块logging模块

当然可以,下面是 Python 中 hashlib、subprocess、logging 模块的详细讲解:

hashlib 模块

hashlib 模块提供了一个模块接口,用于为任意数量的数据生成加密哈希值。在 Python3.x 中,hashlib 模块提供了许多加密哈希算法,包括 MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、blake2b、blake2s 等等。

hashlib 模块常用 API

在 hashlib 模块中,常用的 API 包括:

  • hashlib.md5() 计算字符串的 MD5 值;
  • hashlib.sha1() 计算字符串的 SHA1 值;
  • hashlib.sha256() 计算字符串的 SHA256 值;
  • hashlib.sha512() 计算字符串的 SHA512 值;
  • hashlib.new() 创建指定哈希算法的哈希对象。

示例

下面为一个使用 hashlib 计算字符串 SHA256 值的例子:

import hashlib

str = "Hello, World!"
sha256 = hashlib.sha256()
sha256.update(str.encode('utf-8'))
print("SHA256 值为:", sha256.hexdigest())

输出结果:

SHA256 值为: 430ce34d020724ed75a196dfc2ad67c77772d169fcb8d62af83df69b9d4b7b4e

subprocess 模块

subprocess 模块用于启动一个新进程并与其进行通信,包括输入输出和错误处理,可以替代 os.system 和 os.spawn 等老旧的模块。

subprocess 模块常用函数

subprocess 模块常用的函数包括:

  • subprocess.call():运行的进程会等待子进程完成。
  • subprocess.check_call():如果返回的状态码非零则触发异常。
  • subprocess.check_output():运行指定参数的命令,返回该命令的标准输出。
  • subprocess.Popen():不同于上面的函数,Popen 启动的程序是异步执行的,如果需要在后台执行,就必须使用该函数。

示例

下面是一个使用 subprocess 模块在 Windows 上执行 ping 命令的例子:

import subprocess

res = subprocess.call('ping www.google.com')

上面代码会在控制台输出 ping 的结果,如果想要获取 ping 命令的输出,可以使用 check_output() 函数,例如:

import subprocess

res = subprocess.check_output('ping www.google.com', shell=True, timeout=1000)
print(res)

logging 模块

logging 模块是 Python 内置的用于记录日志的模块。它可以记录到控制台、文件、SMTP 等。

logging 模块常用 API

logging 模块常用的 API 包括:

  • logging.debug():最低级别的日志记录。
  • logging.info():正常记录级别,为确认程序正常工作。
  • logging.warning():警告记录级别,表示出现了一些不预期的情况或者错误,但程序仍可以继续运行。
  • logging.error():错误记录级别,表示程序出现了无法处理的严重错误,程序会终止并返回错误信息。
  • logging.critical():严重错误记录级别,一般针对致命错误,无法抑制,一定要记录下来。

示例

下面的代码是一个简单的 logging 模块的使用示例:

import logging

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(levelname)s:%(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S',
                    filename='myapp.log',
                    filemode='a')

logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')

输出结果:

2021-07-16 17:32:05 DEBUG:This message should go to the log file
2021-07-16 17:32:05 INFO:So should this
2021-07-16 17:32:05 WARNING:And this, too

其中 logging.basicConfig 的参数解释如下:

  • level:日志记录级别;
  • format:日志记录的格式;
  • datefmt:日期时间格式;
  • filename:日志文件名称;
  • filemode:日志文件打开模式。

通过这个示例,我们可以知道如何在 logging 中设置日志记录等级和日志文件以及记录格式。这些参数设置决定了我们将如何记录日志以及如何检索它们。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基础之hashlib模块subprocess模块logging模块 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Python try except finally资源回收的实现

    Pyhon 中的 try-except-finally 代码块是一种异常处理机制。当代码中出现异常时,try 代码块中的代码会停止执行,执行流程会跳到 except 代码块中,尝试捕获异常并进行相应的处理。finally 代码块中的代码不管是否出现异常,都会被执行,可以用来进行资源回收等操作。 在 Python 中使用 try-except-finally …

    python 2023年5月13日
    00
  • python脚本之如何按照清晰度对图片进行分类

    针对你提出的问题,我会对python脚本进行分类的步骤和示例进行说明,详细攻略如下。 1. 需求分析 我们的目标是根据清晰度对图片进行分类,那么我们需要了解每张图片的清晰度,然后把图片按照清晰度分成几类,可以采用以下方案: 首先需要对图片进行清晰度评分,我们可以使用Python的OpenCV库中的图像处理函数,计算出图像的清晰度分数,来对图片进行评分分类。 …

    python 2023年5月18日
    00
  • Python爬虫实例扒取2345天气预报

    下面是Python爬虫实例扒取2345天气预报的完整攻略: 1. 准备工作 在开始实现爬虫之前,需要安装Python环境和必要的爬虫库。接下来是具体的准备工作: 1.1 安装Python环境 Python的安装非常简单,可以到Python官网上下载安装包,根据图形化安装界面进行安装。 1.2 安装必要的Python库 本次爬虫我们需要使用以下几个Python…

    python 2023年5月19日
    00
  • Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例

    Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例 本文将介绍如何使用Python获取基金网站的网页内容,并使用BeautifulSoup库分析html操作。我们将提供两个示例,演示如何获取基金净值和基金持仓。 获取网页内容 以下是一个示例代码,演示如何使用Python获取基金网站的网页内容: import request…

    python 2023年5月15日
    00
  • python语言元素知识点详解

    下面让我详细讲解一下“Python语言元素知识点详解”的完整攻略: Python语言元素知识点详解 什么是Python语言元素 Python语言元素是构成Python程序的最小单位,包括标识符、关键字、常量、变量、表达式等等。本攻略将详细介绍Python语言元素的各种知识点,以便帮助初学者更好地理解和掌握Python编程语言。 标识符 标识符是用来标识变量、…

    python 2023年6月3日
    00
  • 深入解析Python中的多进程

    深入解析Python中的多进程攻略 什么是多进程 多进程指的是同时运行多个进程,每个进程都拥有独立的系统资源。相比于单进程,多进程可以大大提高程序的执行效率,尤其是在并发处理大量数据时表现更为出色。在 Python 中,我们可以通过 multiprocessing 模块来实现多进程的功能。该模块提供了一系列的工具函数和类,让编写多进程应用变得更加简单和方便。…

    python 2023年5月19日
    00
  • Python学习之魔法函数(filter,map,reduce)详解

    Python学习之魔法函数(filter,map,reduce)详解 在Python的函数式编程中,filter、map、reduce是魔法函数,可以轻松地对列表、元组、字典等数据结构进行快速过滤、映射、聚合操作。在本文中,我们将详细介绍这三个函数的使用方法,并提供一些实例介绍。 filter函数 filter函数可以用来过滤满足条件的元素,语法如下: fi…

    python 2023年6月5日
    00
  • python 爬取微信文章

    下面我来为你详细讲解“Python爬取微信文章”的攻略。 本文主要借助Python第三方库beautifulsoup4和requests实现微信公众号文章的爬取。 步骤一:获取微信公众号的历史消息链接 要想爬取微信公众号的文章,首先需要获取该公众号最新或历史消息链接,可以在微信公众平台上手动获取,或者使用第三方API获取。 步骤二:获取每篇文章的链接 通过历…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部