How do I convert a Python UUID into a string?
Solution 1:
you can try this !
a = uuid.uuid1()
str(a)
--> '448096f0-12b4-11e6-88f1-180373e5e84a'
Solution 2:
You can also do this. Removes the dashes as a bonus. link to docs.
import uuid
my_id = uuid.uuid4().hex
ffba27447d8e4285b7bdb4a6ec76db5c
UPDATE: trimmed UUIDs (without the dashes) are functionally identical to full UUIDS (discussion). The dashes in full UUIDs are always in the same position (article).
Solution 3:
I came up with a different solution that worked for me as expected with Python 3.7.
import uuid
uid_str = uuid.uuid4().urn
your_id = uid_str[9:]
urn is the UUID as a URN as specified in RFC 4122.
Solution 4:
It's probably because you're not actually closing your file. This can cause problems. You want to use the context manager/with
block when dealing with files, unless you really have a reason not to.
with open('file.txt', 'w') as f:
# Do either this
f.write(str(uuid.uuid1()))
# **OR** this.
# You can leave out the `end=''` if you want.
# That was just included so that the two of these
# commands do the same thing.
print(uuid.uuid1(), end='', file=f)
This will automatically close your file when you're done, which will ensure that it's written to disk.