标准类库- 因特网协议于支持之UUID

by:授客 QQ:1033553122

 

测试环境

python3

UUID生成函数定义

uuid.getnode()

获取一个表示硬件地址的48位正整数。第一次运行,需要启动一个独立程序,可能会很慢。如果获取硬件地址失败,返回一个随机的48位数。

uuid.uuid1(node=None, clock_seq=None)

根据主机id,序列号,当前时间生成一个UUID。如果node=None,那么使用getnode()获取硬件地址,如果clock_seq不为None,则使用它作为序列号,否则使用一个随机的14位数作为序列号。

uuid.uuid3(namespace, name)

基于一个namespace(一个UUID)的MD5 HASH算法和一个name(一个字符串)生成一个UUID。

uuid.uuid4()

通过伪随机数得到UUID,是有一定概率重复的

uuid.uuid5(namespace, name)

基于namespace(一个UUID)的MD5 SHA-1和name(一个字符串)生成一个UUID。

namespace可选值

uuid.NAMESPACE_DNS

如果指定该namespace,则name参数为一个完全合法的域名

uuid.NAMESPACE_URL

如果指定该namespace,则name参数为一个URL

uuid.NAMESPACE_OID

如果指定该namespace,则name参数为一个ISO OID

uuid.NAMESPACE_X500

如果指定该namespace,则name参数为一个x.500

例子

>>> import uuid

>>> print(uuid.getnode())

268612366648253

>>> # make a UUID based on the host ID and current time

>>> print(uuid.uuid1())

bf6afc64-0f1b-11e9-8461-f44d30b243bd

>>> # make a UUID using an MD5 hash of a namespace UUID and a name

>>> print(uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org'))

6fa459ea-ee8a-3ca4-894e-db77e160355e

>>> # make a random UUID

>>> print(uuid.uuid4())

303c8046-1c77-491a-9e25-91aafc3b6205

>>> # make a UUID using a SHA-1 hash of a namespace UUID and a name

>>> print(uuid.uuid5(uuid.NAMESPACE_DNS,'python.org'))

886313e1-3b8a-5372-9b90-0c9aee199e5d

>>>

更多资料,烦参考官方文档

Python 标准类库- 因特网协议于支持之UUID的更多相关文章

  1. Python 标准类库 - 因特网协议与支持之socketserver

    标准类库 - 因特网协议与支持之socketserver by:授客 QQ:1033553122 socketserver 模块,简化网络服务编写任务. 创建服务的步骤 1  通过子类化BaseReq ...

  2. python模块:网络协议和支持

    python模块:网络协议和支持 webbrowser 调用浏览器显示html文件 webbrowser.open('map.html') [webbrowser - Convenient Web-b ...

  3. Python 标准类库-Windows特殊服务之msvcrt

    标准类库-Windows特殊服务之msvcrt   by:授客 QQ:1033553122 广告:出售自研自动化小平台(无需编码也可用),有需要请联系 测试环境 win7 64位 Python 3.4 ...

  4. python 标准类库-数据类型之集合-容器数据类型

    标准类库-数据类型之集合-容器数据类型   by:授客 QQ:1033553122 Counter对象 例子 >>> from collections import Counter ...

  5. Python 标准类库-数据类型之copy-深拷贝浅拷贝操作

    标准类库-数据类型之copy-深拷贝浅拷贝操作   by:授客 QQ:1033553122 Python中赋值并不会拷贝对象,只是创建目标和对象的绑定关系. copy.copy(x) 返回x的浅拷贝 ...

  6. Python 标准类库-日期类型之datetime模块

    标准类库-日期类型之datetime模块    by:授客 QQ:1033553122 可用类型 3 实践出真知 4 timedelta对象 4 class datetime.timedelta(da ...

  7. python 标准类库-并行执行之subprocess-子进程管理

    标准类库-并行执行之subprocess-子进程管理 by:授客QQ:1033553122 1.使用subprocess模块 以下函数是调用子进程的推荐方法,所有使用场景它们都能处理.也可用Popen ...

  8. Python 标准类库-数字和数学模块之decimal使用简介

    标准类库-数字和数学模块之decimal使用简介 by:授客 QQ:1033553122 例子 >>>from decimal import * >>>getcon ...

  9. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

随机推荐

  1. WPF获取原始控件样式。

    要获取WPF控件的原始样式,需要我们安装Blend for Visual Studio. 然后,我们打开Blend for Visual Studio,创建一个WPF项目. 然后,我们向页面拖动一个B ...

  2. Java 泛型完全解读

    对于泛型的使用我想大家都非常熟悉,但是对于类型擦除,边界拓展等细节问题,可能不是很清楚,所以本文会重点讲解一下:另外对泛型的了解其实可以看出,一个语言特性的产生逻辑,这对我们平时的开发也是非常有帮助的 ...

  3. Aria2序之导言

    aria2是什么,如果此时此刻你看到标题读到第一行正在思索着一个问题,很抱歉 ,这篇以及后续我的blog不适合你,请移步. 我在aria2的官方站点抄袭了如下语句用来充实本文: aria2 is a  ...

  4. asp.net core 系列之中间件进阶篇-编写自定义中间件(middleware)

    中间件是被用到管道(pipeline)上来处理请求(request)和响应的(response). asp.net core 本身提供了一些内置的中间件,但是有一些场景,你可能会需要写一些自定义的中间 ...

  5. C#简单继承示例详解——快速入门

    在面向对象当中继承是非常重要的,也是面向对象的三大特性之一(继承.封装.多态),今天我们来揭开他的神秘面纱. 话不多说,我们上菜. using System; using System.Collect ...

  6. Morris遍历-如何用空间复杂度O(1)来遍历二叉树

    参照和学习: https://www.cnblogs.com/AnnieKim/archive/2013/06/15/morristraversal.html 解决的问题:如何使用空间复杂度O(1), ...

  7. SuperMap iObject入门开发系列之六管线区域查询

    本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线区域查询功能针对单一管线图层进行区域多边形框选查询,然后将查询结果输出为列表,并添加定位和闪烁功能,效果如下图所示 ...

  8. ContentProvider和ContentResolver的使用

    ContentProvider ContentProvider 在android中的作用是对外共享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通 ...

  9. redis缓存清除

    1.redis根目录调出命令行(cmd) 2.登录redis:redis-cli -h 127.0.0.1 -p 6379 3.查看所有key值:keys * 4.删除指定索引的值:del key 5 ...

  10. happens-before 理解

    从JDK 5 开始,JMM就使用happens-before的概念来阐述多线程之间的内存可见性.在JMM中,如果一个操作执行的结果需要对另一个操作可见, 那么这2个操作之间必须要存在happens-b ...