一 hashlib模块

import hashlib
md5=hashlib.md5() #可以传参,加盐处理
print(md5)
md5.update(b'alex') #update参数必须是byte类型
md5.update(b'sb')
print(md5.hexdigest()) #结果与update(b'alexsb')是一样的

  输出:

<md5 HASH object @ 0x00000204693FC3C8>
3b30fab9b1de071c65055026862ce00e
import hashlib
md5=hashlib.md5() #hashlib模块 md5类 加括号 实例化
print(md5)
# md5.update(b'alex')
# md5.update(b'sb')
md5.update(bytes('老男孩',encoding='utf-8'))
#bytes 将字符串格式转为byte格式 print(md5.hexdigest())

  输出:

6a7ece82e4ed94a475dab275891d5036

二 logging模块

import logging
logger=logging.getLogger() #生成一个logger对象 <RootLogger root (WARNING)>
formatter=logging.Formatter() #指定logger输出格式,最后要被logger调用。<logging.Formatter object at 0x00000198F07F2C88>
file_handler=logging.FileHandler('log.log') #生成文件日志,<FileHandler D:\Program Files\JetBrains\s7\day28\log.log (NOTSET)>
console_handler=logging.StreamHandler() #生成控制台日志,<StreamHandler <stderr> (NOTSET)>
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter) #通过setFormatter指定输出格式
logger.addHandler(file_handler)
logger.addHandler(console_handler) #未logger对象添加日志处理器
logger.setLevel(logging.INFO) #指定日志的最低输出级别,默认是WARN级别
logger.debug('this is debug info')
logger.critical('thie is critical info')

  输出:

thie is critical info

三 subprocess模块

  subprocess:子流程

  Popen类:

  官方定义: Execute a child program in a new process.在新流程中执行子程序。

import subprocess            #subprocess模块
obj=subprocess.Popen('dir',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) #obj是Poppe类实例化的一个对象,
print(obj,type(obj))
res=obj.stdout.read() #obj.stdout是 <_io.BufferedReader name=3>,调用read()方法,读取管道内的数据。
print(res) #管道内的数据是二进制,在windows下是gbk编码的。

  输出:

<subprocess.Popen object at 0x000001873F349B00> <class 'subprocess.Popen'>
b' \xc7\xfd\xb6\xaf\xc6\xf7 D \xd6\xd0\xb5\xc4\xbe\xed\xca\xc7 DATA\r\n \xbe\xed\xb5\xc4\xd0\xf2\xc1\xd0\xba\xc5\xca\xc7 D64A-0BF1\r\n\r\n D:\\Program Files\\JetBrains\\s7\\day30 \xb5\xc4\xc4\xbf\xc2\xbc\r\n\r\n2017/09/26

  stdout,stdin的应用

import subprocess
obj1=subprocess.Popen('tasklist',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) #tasklist,findstr都是可以在cmd下运行的指令
obj2=subprocess.Popen('findstr pycharm',shell=True,stdin=obj1.stdout,stdout=subprocess.PIPE)       #stdin=一个Popen对象的stdout
print(obj2.stdout.read().decode('gbk')) #windows下默认编码是gbk格式

  输出:

pycharm64.exe                 5564 Console                   11  1,012,500 K

==>

import subprocess
subprocess.Popen('dir',shell=True) #调用Popen方法已经打开了一个子进程,执行了dir命令。没有std=subprocess.PIPE,看来就是默认输出屏幕了。

  输出:

 ������ D �еľ��� DATA
������к��� D64A-0BF1 D:\Program Files\JetBrains\s7\day32 ��Ŀ¼ 2017/09/28 22:42 <DIR> .
2017/09/28 22:42 <DIR> ..
2017/09/28 22:42 1,520 c.py
2017/09/28 17:04 737 s.py
2 ���ļ� 2,257 �ֽ�
2 ��Ŀ¼ 374,639,685,632 �����ֽ�

python hashlib模块 logging模块 subprocess模块的更多相关文章

  1. python常用模块补充hashlib configparser logging,subprocess模块

    一.hashlib模板 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定 ...

  2. python基础语法13 内置模块 subprocess,re模块,logging日志记录模块,防止导入模块时自动执行测试功能,包的理论

    subprocess模块: - 可以通过python代码给操作系统终端发送命令, 并且可以返回结果. sub: 子    process: 进程 import subprocess while Tru ...

  3. python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议

    socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...

  4. random模块、os模块、序列化模块、sy模块s、subprocess模块

    random随机数模块 random.random( ) 随机产生一个0-1之间的小数 print(random.random()) # 0.31595547439342897 random.rand ...

  5. Python模块之OS,subprocess

    1.os 模块 简述: os 表示操作系统 该模块主要用来处理与系统相关操作 最常用的是文件操作 打开 获取 写入 删除 复制 重命名 常用操作 os.getcwd() : 返回当前文件所在文件夹路径 ...

  6. subprocess模块(了解)

    目录 一.subprocess模块 一.subprocess模块 subprocess模块允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入.标准输出.标准错误以及返回码等.更 ...

  7. 网络编程 --- subprocess模块,struct模块,粘包,UDP协议,socket_server模块

    目录 subprocess模块 struct模块 粘包 UDP协议 socket_server模块 subprocess模块 作用: 1.可以帮你通过代码执行操作系统的终端命令 2.并返回终端执行命令 ...

  8. Python自动化运维之9、模块之sys、os、hashlib、random、time&datetime、logging、subprocess

    python模块 用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需 ...

  9. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  10. Python基础之模块:6、hashlib模块 subprocess模块 logging模块

    目录 一.hashlib模块 1.简介 2.基本操作与用法 二.subprocess模块 1.简介 2.基本操作与用法 三.logging模块 1.简介 2.基本操作与用法 一.hashlib模块 1 ...

随机推荐

  1. django 数据库中中文转化为韩语拼音

    1.安装模块 django-uuslug pip install django-uuslug 2.导入模块 from uuslug import slugify 3.使用模块 slugify('天龙八 ...

  2. 2_分布式计算框架MapReduce

    一.mr介绍 1.MapReduce设计理念是移动计算而不是移动数据,就是把分析计算的程序,分别拷贝一份到不同的机器上,而不是移动数据. 2.计算框架有很多,不是谁替换谁的问题,是谁更适合的问题.mr ...

  3. (转发)InputAccessoryView的使用方法

    转自:http://blog.sina.com.cn/s/blog_45e2b66c01015we9.html UITextFields and UITextViews have an inputAc ...

  4. 【贪心】bzoj1592: [Usaco2008 Feb]Making the Grade 路面修整

    贪心的经典套路:替换思想:有点抽象 Description FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也 就是说,高度上升与高度下降的路段不能 ...

  5. python入门:最基本的用户登录

    #! usr/bin/env python # -*- coding: utf-8 -*- #最基本的用户登录 import getpass usre = input("username:& ...

  6. destoon 给超级管理员系统权限(管理员管理,日志管理等)

    destoon 后台某些系统权限除了网站创始人之外其他超管事没有权限的,现需要给其他超级管理员添加普通管理员的权限. 1.首先  admin/global.func.php  admin_check函 ...

  7. 【php】函数重载问题

    PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数.

  8. python3  循环输出当前时间。

    题目 暂停一秒输出(使用 time 模块的 sleep() 函数).循环输出当前时间. 代码: import time while True: time.sleep(1) print(time.str ...

  9. Python9-网络编程2-day31

    基于UDP协议的socket #server import socket sk = socket.socket(type=socket.SOCK_DGRAM) sk.bind(('127.0.0.1' ...

  10. Python虚拟机函数机制之名字空间(二)

    函数执行时的名字空间 在Python虚拟机函数机制之无参调用(一)这一章中,我们对Python中的函数调用机制有个大概的了解,在此基础上,我们再来看一些细节上的问题.在执行MAKE_FUNCTION指 ...