python3从零学习-5.10.11、 uuid—UUID 对象
nanshan 2024-11-14 16:38 27 浏览 0 评论
源代码: Lib/uuid.py
这个模块提供了不可变的UUID对象(UUID类)和函数uuid1()、uuid3()、uuid4()、uuid5(),用于生成RFC 4122中指定的版本1、3、4和5 UUID。
如果您想要的只是一个唯一的ID,那么可能应该调用uuid1()或uuid4()。注意,uuid1()可能会损害隐私,因为它创建了一个包含计算机网络地址的UUID。uuid4()创建一个随机的UUID。
- class uuid.UUID(hex=None, bytes=None, bytes_le=None, fields=None, int=None, version=None)
创建一个UUID从32个十六进制数字的字符串,字符串16字节的高位优先顺序的字节,16字节的字符串在低位优先顺序bytes_le论点,六元组整数(32位time_low, 16位time_mid、16位time_hi_version 8位clock_seq_hi_variant, 8位clock_seq_low, 48比特位节点)作为字段的参数,或一个128位整数作为int参数。当给定一串十六进制数字时,花括号、连字符和URN前缀都是可选的。
例如,这些表达式都产生相同的UUID:
UUID('{12345678-1234-5678-1234-567812345678}')
UUID('12345678123456781234567812345678')
UUID('urn:uuid:12345678-1234-5678-1234-567812345678')
UUID(bytes=b'\x12\x34\x56\x78'*4)
UUID(bytes_le=b'\x78\x56\x34\x12\x34\x12\x78\x56' +
b'\x12\x34\x56\x78\x12\x34\x56\x78')
UUID(fields=(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678))
UUID(int=0x12345678123456781234567812345678)
必须给出十六进制、字节、bytes_le、字段或int中的一个。版本参数是可选的;如果给定,结果UUID将根据RFC 4122设置其变体和版本号,覆盖给定十六进制、字节、bytes_le、字段或int中的位。
UUID对象的比较是通过比较它们的UUID.int属性进行的。与非uuid对象进行比较会引发类型错误。
str(uuid)返回格式为12345678-1234-5678-1234-567812345678的字符串,其中32个十六进制数字表示uuid。
UUID实例有以下只读属性:
- UUID.bytes
UUID是一个16字节的字符串(以big-endian字节顺序包含6个整数字段)。
- UUID.bytes_le
UUID是一个16字节的字符串(time_low、time_mid和time_hi_version按低位字节顺序排列)。
- UUID.fields
以元组形式存放的UUID的6个整数域,有六个单独的属性和两个派生属性:
域 含义
time_low UUID的前32位
time_mid 接前一域的16位
time_hi_version 接前一域的16位
clock_seq_hi_variant 接前一域的8位
clock_seq_low 接前一域的8位
node UUID的最后48位
time UUID的总长60位的时间戳
clock_seq 14位的序列号
- UUID.hex
UUID是一个32个字符的十六进制字符串。
- UUID.int
UUID为128位整数。
- UUID.urn
UUID是RFC 4122中指定的URN。
- UUID.variant
UUID变体,它决定UUID的内部布局。这将是一个常量RESERVED_NCS、RFC_4122、RESERVED_MICROSOFT或RESERVED_FUTURE。
- UUID.version
UUID版本号(1到5,只有当变体是RFC_4122时才有意义)。
uuid模块定义了以下功能:
- uuid.getnode()
获取48位正整数的硬件地址。第一次运行时,它可能会启动一个单独的程序,这个程序可能会非常慢。如果所有获取硬件地址的尝试都失败了,我们将随机选择一个48位的数字,并按照RFC 4122中的建议将其8位设置为1。“硬件地址”是指一个网络接口的MAC地址,在具有多个网络接口的机器上,可以返回其中任何一个网络接口的MAC地址。
- uuid.uuid1(node=None, clock_seq=None)
从主机ID、序列号和当前时间生成UUID。如果没有给出节点,则使用getnode()来获取硬件地址。如果给定clock_seq,则使用它作为序列号;否则,一个随机的14位序列号被选择。
- uuid.uuid3(namespace, name)
基于名称空间标识符(即UUID)和名称(即字符串)的MD5散列生成UUID。
- uuid.uuid4()
生成一个随机的UUID。
- uuid.uuid5(namespace, name)
基于名称空间标识符(是UUID)和名称(是字符串)的SHA-1散列生成UUID。
uuid模块定义了以下与uuid3()或uuid5()一起使用的名称空间标识符。
- uuid.NAMESPACE_DNS
指定此名称空间时,名称字符串是完全限定的域名。
- uuid.NAMESPACE_URL
当指定此名称空间时,名称字符串是一个URL。
- uuid.NAMESPACE_OID
当指定此名称空间时,名称字符串是一个ISO OID。
- uuid.NAMESPACE_X500
指定此名称空间时,名称字符串是DER或文本输出格式的X.500 DN。
uuid模块为变体属性的可能值定义了以下常量:
- uuid.RESERVED_NCS
为NCS兼容性保留。
- uuid.RFC_4122
指定RFC 4122中给出的UUID布局。
- uuid.RESERVED_MICROSOFT
保留微软兼容性。
- uuid.RESERVED_FUTURE
预留给以后的定义。
示例
下面是uuid模块的一些典型用法:
>>> import uuid
>>> # make a UUID based on the host ID and current time
>>> uuid.uuid1()
UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')
>>> # make a UUID using an MD5 hash of a namespace UUID and a name
>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')
UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')
>>> # make a random UUID
>>> uuid.uuid4()
UUID('16fd2706-8baf-433b-82eb-8c7fada847da')
>>> # make a UUID using a SHA-1 hash of a namespace UUID and a name
>>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')
UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')
>>> # make a UUID from a string of hex digits (braces and hyphens ignored)
>>> x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')
>>> # convert a UUID to a string of hex digits in standard form
>>> str(x)
'00010203-0405-0607-0809-0a0b0c0d0e0f'
>>> # get the raw 16 bytes of the UUID
>>> x.bytes
b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'
>>> # make a UUID from a 16-byte string
>>> uuid.UUID(bytes=x.bytes)
UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')
相关推荐
- 三种自建KMS激活系统自动激活windows方法
-
第一种:在windows服务器上搭建主要针对vol版本(win7、win10、win20xx、win2012等等)平台:我自己搭建的windows虚拟机,windows2016的操作系统软件:...
- 重装系统被收98元?避开Windows付费陷阱的实用指南
-
重装系统被收98元?避开Windows付费陷阱的实用指南有网友反映,在重装Windows系统后,屏幕突然弹出“激活系统需支付98元服务费”的提示,疑惑自己是不是遭遇了付费陷阱。事实上,微软官方的Wi...
- Windows Server2012远程桌面服务配置和授权激活
-
安装:注意:安装完毕之后需手动重启一下计算机配置终端服务管理工具---远程桌面服务---RD授权诊断程序,查看当前服务器有没有授权授权:运行—>gpedit.msc->计算机配置---管理...
- 新书速览|Windows Server 2022 系统与网站配置实战
-
讲述桌面体验、ServerCore/NanoServer,容器与云系统的配置1本书内容《WindowsServer2022系统与网站配置实战》秉持作者一贯理论兼具实践的写作风格,以新版的Wi...
- Windows激活全攻略:KMS神钥与专业工具的完美结合!
-
对于许多Windows用户来说,系统的激活是一个必经的过程。虽然Windows操作系统在未经激活的状态下也可以使用一段时间,但长期来看,未激活的系统会限制某些功能并频繁提示用户激活。以下是两种流行的激...
- 微软Win9全新激活技术曝光(微软系统激活有什么用)
-
2014-07-0905:46:00作者:徐日俄罗斯Wzor日前披露了更多关于Windows9的最新消息,据悉,Windows9将会在今年秋季亮相,其宣传口号是“想要开始按钮和开始菜单?如你所...
- 快速激活Windows 10/11:CMD命令详细教程
-
#记录我的2024#激活Windows操作系统是确保系统功能和安全更新正常运行的重要步骤。本文将为您分享如何使用命令提示符(CMD)在Windows10和Windows11上进行激活的详细步骤。...
- Wndows 2019 RDS应用发布部署(rds的安装和应用程序的发布)
-
安装前的准备1、需要提供服务器作为应用中心,应用中心的推荐配置如下表所示。规格建议1-10人11-20人21-50人51-100人100+人CPU4核8核16核内存8GB16GB32GB64GB系统盘...
- 解决 Windows 系统激活难题(如何解决windows激活问题)
-
今天,一位朋友给我说,他手头有三台电脑,均同时弹出系统未激活的提示。他对此毫无头绪,便急忙将电脑上出现的激活提示信息一股脑发给了我。我看到其中一台显示的是“Windows10企业版LTSC尚...
- 自建KMS激活服务器(自建kms激活服务器的风险)
-
自建KMS激活服务器Win10和office安装后,都需要激活才可以使用,一般可以输入购买的MAK激活码进行在线激活,也可以通过KMS激活,网上也有很多激活工具,但这些工具一般都含有病毒或木马程序,容...
- 30秒免费激活windows和office亲测有效!
-
“第三方工具有病毒?”“KMS服务器激活总失效?”今天给大家分享一个开源激活工具——MicrosoftActivationScripts(MAS),无需密钥、不装软件,30秒永久激活Window...
- 「操作系统」Windows 10 LTSC 2019 企业版C大集成更新版
-
Windows10LTSC企业版CHIANNET集成更新优化整合多镜像版,CHIANNET,是USBOS超级PE维护盘工具箱作者,长久以来一直默默的更新着,USBOSPE软件,电脑城装机及...
- 一文看懂Windows激活:自查方法+授权类型科普(Win7/Win10通用)
-
一、如何判断Windows是否永久激活?无论是Win7还是Win10,均可通过以下方法快速验证:命令提示符法(通用):按下Win+R,输入slmgr.vbs/xpr并按回车键运行即可查看是否...
- 部分Windows Server 2019/2022用户反馈无法运行微软Teams应用
-
IT之家7月2日消息,科技媒体borncity今天(7月2日)发布博文,报道称在多个WindowsServer版本上,MicrosoftTeams应用近期出现了运行故障。用...
- 这种Windows激活方式已有20年...(windows现在激活)
-
2006年微软正式发布WindowsVista,随之而来引入了一项新的激活机制「OEM激活」,这项机制在Vista和Win7上最为流行。其实WindowsServer自2008开始至2025版本一...
你 发表评论:
欢迎- 一周热门
-
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
手机如何设置与显示准确时间的详细指南
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
一加手机与电脑互传文件的便捷方法FileDash
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
- 最近发表
-
- 三种自建KMS激活系统自动激活windows方法
- 重装系统被收98元?避开Windows付费陷阱的实用指南
- Windows Server2012远程桌面服务配置和授权激活
- 新书速览|Windows Server 2022 系统与网站配置实战
- Windows激活全攻略:KMS神钥与专业工具的完美结合!
- 微软Win9全新激活技术曝光(微软系统激活有什么用)
- 快速激活Windows 10/11:CMD命令详细教程
- Wndows 2019 RDS应用发布部署(rds的安装和应用程序的发布)
- 解决 Windows 系统激活难题(如何解决windows激活问题)
- 自建KMS激活服务器(自建kms激活服务器的风险)
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)