python uuid库的使用

来源:互联网 发布:淘宝被处罚了怎么办 编辑:程序博客网 时间:2024/06/01 13:11

python 的uuid库是用来生成一串唯一表示的包,uuid是一个 32 位的16进制数,用来设置唯一的辨识信息,具体uuid功能查看维基百科

uuid库的使用方法(uuid使用文档翻译):

uuid 帮助模块:uuid - UUID 对象(全局唯一标识符)根据 RFC 4122文件:    /usr/lib/python2.7/uuid.py模块文档:    http://docs.python.org/library/uuid描述:    这个模块提供了不可变对象 UUID(class uuid)的功能    uuid1(), uuid3(), uuid4(), uuid5() 有生成版本 1, 3, 4和5    UUIDs 就像 RFC 4122 中定义的那样    如果你想有一个唯一的 ID,你应该调用 uuid1() 和 uuid4()    注意,uuid1() 可能会损害隐私,因为他创建了一个 UUID 包含电脑的 网络地址,uuid4() 创建一个随机的UUID    典型用法:        >>>import uuid        #创建一个 UUID 基于主机ID和当前的时间        >>>uuid.uuid1()        UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')        #使用MD5加密的名称空间和一个名称创建一个UUID        >>>uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')        UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')        #创建一个随机的UUID        >>>uuid.uuid4()        UUID('16fd2706-8baf-433b-82eb-8c7fada847da')        #使用sha-1加密的名称空间和一个名称创建一个UUID        #把一个32位的16进制字符串转换成一个 UUID(忽略括号和连字符)        >>>x = uuid.UUID('{00010203-0405-0607-0809-0a0b0c0d0e0f}')        #将UUID转换成标准形式的十六进制字符串        >>>str(x)        #得到原始16字节的UUID        >>>x.bytes()        '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f'        #将16字节的字符串转换成 UUID        >>>uuid.UUID(bytes=x.bytes)        UUID('00010203-0405-0607-0809-0a0b0c0d0e0f')<div class="row"><div class="row small_font" id="outputText"><div class="translated_result"><p class="tgt">        UUID对象是不可变的,hashable,可用字典键</p><p class="tgt">        将一个UUID转换为一个字符串str()收益率的形式“12345678 - 1234 - 1234 - 1234 - 123456789 - abc”。</p><p class="tgt">        UUID构造函数接受5个可能的形式:一个类似的十六进制数字的字符串,或一个六元组整数字段(32位、16位、16位,8位,8位,分别和48比特位值)作为参数命名为“字段”,或16字</p><p class="tgt">       节的字符串(所有整数字段在高位优先顺序)作为参数命名为“字节”,或16字节的字符串(前三个字段低位优先顺序)作为参数命名为“bytes_le”,或一个128位整数作为参数命名为“</p><p class="tgt">      int”。如果没有“节点”,getnode()用于获取硬件地址。如果“clock_seq”,它是用作序列号;</p></div></div></div>UUID的创建格式:        UUID('{12345678-1234-5678-1234-567812345678}')        UUID('12345678123456781234567812345678')        UUID('urn:uuid:12345678-1234-5678-1234-567812345678')        UUID(bytes='\x12\x34\x56\x78'*4)        UUID(bytes_le='\x78\x56\x34\x12\x34\x12\x78\x56' + '\x12\x34\x56\x78\x12\x34\x56\x78')        UUID(fields=(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678))        UUID(int=0x12345678123456781234567812345678)功能(在典型用法中有说明)    getnode()        获得硬件地址作为48 比特位正整数        第一次运行,它可能会启动一个单独的程序,这可能十分缓慢,如果所有尝试获得硬件地址失败的话,我们会选        择一个48比特位的数,他的第八位将会设置成1    uuid1(node=None, clock_seq=None)        从主机ID, 序列号, 和当前时间生成一个UUID    uuid3(namespace, name)        Generate a UUID from the MD5 hash of a namespace UUID and a name.        If 'node' is not given, getnode() is used to obtain the hardware        address.  If 'clock_seq' is given, it is used as the sequence number;        otherwise a random 14-bit sequence number is chosen.    uuid4()        Generate a random UUID.    uuid5()        Generate a UUID from the SHA-1 hash of a namespace UUID and a name.数据    NAMESPACE_DNS = UUID('6ba7b810-9dad-11d1-80b4-00c04fd430c8')    NAMESPACE_OID = UUID('6ba7b812-9dad-11d1-80b4-00c04fd430c8')    NAMESPACE_URL = UUID('6ba7b811-9dad-11d1-80b4-00c04fd430c8')    NAMESPACE_X500 = UUID('6ba7b814-9dad-11d1-80b4-00c04fd430c8')    RESERVED_FUTURE = 'reserved for future definition'    RESERVED_MICROSOFT = 'reserved for Microsoft compatibility'    RESERVED_NCS = 'reserved for NCS compatibility'    RFC_4122 = 'specified in RFC 4122'    __author__ = 'Ka-Ping Yee <ping@zesty.ca>'    lib = None    libname = 'uuid'


0 0
原创粉丝点击