使用uuid模块,我可以使用以下命令生成唯一的字符串(例如c389fa3c-3a5c-4d8d-ac92-9b70f2bbe0b5):
import uuid
result = uuid.uuid4()
print result
Run Code Online (Sandbox Code Playgroud)
结果是:
<class 'uuid.UUID'>
Run Code Online (Sandbox Code Playgroud)
现在,为了获取生成的字符串,我需要调用str()函数:
uuid_string = str(result)
print uuid_string
Run Code Online (Sandbox Code Playgroud)
打印:
c389fa3c-3a5c-4d8d-ac92-9b70f2bbe0b5
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更短的方法将 uuid 文本字符串生成为字符串(无需使用str()函数)。
小智 8
您可以使用该.hex属性来获取字符串值,而无需-
In [1]: import uuid
In [2]: result = uuid.uuid4()
In [3]: result.hex
Out[3]: '536bc225eb6d47589b1858f265b809b1'
In [4]: print(result.hex)
536bc225eb6d47589b1858f265b809b1
Run Code Online (Sandbox Code Playgroud)
这是相关文档:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19316 次 |
| 最近记录: |