使用uuid
模块,我可以使用以下方式生成唯一的字符串(例如c389fa3c-3a5c-4d8d-ac92-9b70f2bbe0b5
):
import uuid
result = uuid.uuid4()
print result
其结果是:
<class 'uuid.UUID'>
现在,为了获取生成的字符串,我需要调用str()
函数:
uuid_string = str(result)
print uuid_string
打印:
c389fa3c-3a5c-4d8d-ac92-9b70f2bbe0b5
我想知道是否有更短的方法将uuid文本字符串生成为字符串(不需要使用str()
函数)。
答案 0 :(得分:1)
您可以使用.hex
属性获取不带-
的字符串值
In [1]: import uuid
In [2]: result = uuid.uuid4()
In [3]: result.hex
Out[3]: '536bc225eb6d47589b1858f265b809b1'
In [4]: print(result.hex)
536bc225eb6d47589b1858f265b809b1
以下是相关文档:
UUIDs have these read-only attributes:
bytes the UUID as a 16-byte string (containing the six
integer fields in big-endian byte order)
bytes_le the UUID as a 16-byte string (with time_low, time_mid,
and time_hi_version in little-endian byte order)
fields a tuple of the six integer fields of the UUID,
which are also available as six individual attributes
and two derived attributes:
time_low the first 32 bits of the UUID
time_mid the next 16 bits of the UUID
time_hi_version the next 16 bits of the UUID
clock_seq_hi_variant the next 8 bits of the UUID
clock_seq_low the next 8 bits of the UUID
node the last 48 bits of the UUID
time the 60-bit timestamp
clock_seq the 14-bit sequence number
hex the UUID as a 32-character hexadecimal string
int the UUID as a 128-bit integer
urn the UUID as a URN as specified in RFC 4122
variant the UUID variant (one of the constants RESERVED_NCS,
RFC_4122, RESERVED_MICROSOFT, or RESERVED_FUTURE)
version the UUID version number (1 through 5, meaningful only
when the variant is RFC_4122)