A universally unique identifier (UUID) is an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). Check here for more details.
I recently faced a scenario where I need to use string format of the UUID value. I searched in google and could not find proper answer. Finally I got the solution and here it is. After Creating a UUID, we can get different different values depending on the format. For example, we can get int, hex and byte values of UUID. Similarly using urn (Uniform resource name), we can get the string value of the UUID as shown below.
>>> uid = uuid.uuid1() #creating UUID >>> uid UUID('52f8e1ba-e3ac-11e3-8232-a82066136178') >>> uid.int #int format of UUID 110288963624339905056441828728831697272L >>> uid.hex #hexa format of UUID '52f8e1bae3ac11e38232a82066136178' >>> uid.bytes #bytes format of UUID 'R\xf8\xe1\xba\xe3\xac\x11\xe3\x822\xa8 f\x13ax' >>> uid.urn #uniform resource name 'urn:uuid:52f8e1ba-e3ac-11e3-8232-a82066136178' >>>
From the above example uid.urn returns string value 'urn:uuid:52f8e1ba-e3ac-11e3-8232-a82066136178'. But we need only value and we dont need first nine characters 'urn:uuid:', so we can skip those 9 characters to get the string value as shown below.
>>> uid_str = uid.urn >>> str = uid_str[9:] >>> str '52f8e1ba-e3ac-11e3-8232-a82066136178' >>>