标准类库- 因特网协议于支持之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. 二分法与二叉树的 Java 实现

    算法与数据结构始终是计算机基础的重要一环,今天我们来讨论下 Java 中二叉树的实现以及一些简单的小算法,如二分查找,归并排序等. 二分查找 二分查找是一种在有序数组中查找某一特定元素的搜索算法,它在 ...

  2. Struts2的拦截器配置

    1:引入默认的时间拦截器 <!-- 引入拦截器和引入拦截器栈一样的语法 --> <interceptor-ref name="defaultStack">& ...

  3. 【转】javascript笔记之apply、call、bind用法

    原文地址:https://www.cnblogs.com/coco1s/p/4833199.html apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数 ...

  4. spring boot redis 数据库缓存用法

    缓存处理方式应该是 1.先从缓存中拿数据,如果有,直接返回.2.如果拿到的为空,则数据库查询,然后将查询结果存到缓存中.由此实现方式应该如下: private String baseKey = &qu ...

  5. Java 在PDF 中添加超链接

    对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接又可以分为:文本超链接,图像超链接,E-mai ...

  6. 交给子类: Template Method(模板方法模式)【PHP】

    Template Method(模板方法模式) ---- 将具体处理交给子类 Template Method 就是定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构可 ...

  7. 解决ruby安装后无法添加淘宝gem源------------学习记录

    使用sass ,需要安装ruby,会建议移除gem源,添加淘宝的gem源,但是淘宝的镜像源已经停止维护啦!!用https://gems.ruby-china.com 代替即可. 操作如下: 1)删除原 ...

  8. 高通QCC3026蓝牙音频芯片处理器介绍

    QCC3026是一款基于超低功耗架构的入门级闪存可编程蓝牙音频SoC,专为紧凑型功能优化的Qualcomm TrueWireless耳塞而设计.QCC3026旨在为我们的客户提供有助于缩短开发时间并具 ...

  9. Android Aop日志

    Android在许多情况下需要知道一些方法的耗时,然后对与这些耗时进行一些处理和优化.当然我们可以在方法的开头和结尾分别来打一行日志来解决这个问题.但是这个方式侵入性强,而且比较难以修改和删除这些日志 ...

  10. ASP.NET Core 快速入门(环境篇)

    [申明]:本人.NET Core小白.Linux小白.MySql小白.nginx小白.而今天要说是让你精通Linux ... 的开机与关机.nginx安装与部署.Core的Hello World .. ...