Python练习-常用内建模块hmac
本部分学习Python内置模块hmac。实际hmac是承接hashlib中的md5等摘要算法加salt的操作。对该操作进行了封装,使用起来更加通用方便。在学些了之前内容的基础上,本部分内容比较简单直接。直接看代码即可。 # hmac 学习 message = b"This is a python" key = b" hashlib demo" h = hmac.new(key, messa...
本部分学习Python内置模块hmac。实际hmac是承接hashlib中的md5等摘要算法加salt的操作。对该操作进行了封装,使用起来更加通用方便。在学些了之前内容的基础上,本部分内容比较简单直接。直接看代码即可。 # hmac 学习 message = b"This is a python" key = b" hashlib demo" h = hmac.new(key, messa...
本部分学习Python常用内置模块hashlib。主要封装了md5、sha1等常用的摘要算法。摘要算法主要用来判断文本、代码等是否被修改,以及利用其不可逆性,用于在数据库中密文保存密码。 # Python中hashlib摘要算法类库 import hashlib md5 = hashlib.md5() md5.update('This is a python hashlib demo'....
本部分学习Python内置模块struct。struct模块可以方便快速的处理字节,如将一个整数转化为字节数组的表示等。 传统情况下,如果我们想将一个32位的整数,用1个由4个字节组成的字节数组表示的话,需编写如下代码: n = 12345678 b1 = (n & 0xff000000) >> 24 b2 = (n & 0xff0000) >> 1...
本部分学习Python中关于base64编码的基本操作。关于这部分内容,除了基本的base64操作外,我还查阅了一些资料,了解了base64的一些基础常识,比如:base64是因为什么出现的?编码规则等。我觉得了解了事务的背景,对于理解、掌握和应用该技术,是非常必要和有帮助的。 一、base64编码为什么出现 一个字节可表示的范围是 0 ~ 255(十六进制:0x00 ~ 0xFF),...
本部分学习Python常用内建模块collections。collections模块中提供了很多集合相关的类,如namedtuple、OrderDict、ChainMap以及Count等。便于针对特定使用场景,高效的进行集合操作。 一、namedtuple namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来使用tu...
本部分学习Python常用内置模块datetime。通过datetime模块,我们可以很方便的操作日期、时间戳已经时区转换等操作。 构建datetime对象 import re from datetime import datetime, timedelta, timezone now = datetime.now() print(now) print(type(now)) # 注意到...
本部分练习通过Python使用正则表达式。正则表达式是编程里一个很常用,很基础的知识,这里不做赘述。具体规则可以查阅关于正则学习的相关资料。这里重点练习通过Python编程使用正则表达式的方法。 在Python中,通过re模块来使用正则表达式,如: # Python 中正则表达式,强烈建议使用r前缀,避免转义 import re print(re.match(r"\d{4}-\d{8}"...
本部分练习Python分布式任务。在Python的multiprocessing模块中,提供了BaseManager类,可以非常简单快速的创建分布式调度任务。 思想也很简单,服务端开启端口,注册信息传递的队列,接收端链接对应地址和端口,拿到队列,获取其中传递的信息,进行对应处理即可。 如果有结果传回,可以在注册一个队列用于传递结果即可。样例代码如下: 服务端 # 分布实任务样例 imp...
本部门练习Python多线程操作,Python中得多线程虽然为真正得POSIX 多线程,但是由于全局进程锁GIL得存在,在计算密集型业务中,并不能发挥真正并发的作用。 Python中的多线程主要通过threading模块实现,结果操作与Java多线程和Python多进程类似。 # 多线程练习 import threading def thread_run(text): pri...
本部门学习Python多进程编程,若在linux环境下,可以使用fork函数,windows环境下没有该函数,可通过Process模块实现。 # windows没有fork调用,因此无法使用os.fork函数 # 使用multiprocessing模块 def sub_process_runner(name): print("I am a child process name: ...