Python如何基于文件内容创建UUID

时间:2015-06-02 13:46:05

标签: python python-2.7 guid uuid

我正在查看documentation,在示例部分中,我没有看到如何根据文件内容创建UUID。谷歌也没有帮助我。

我试过这个:

[self.navigationController.navigationBar setTranslucent:NO];

还有:

>>> import uuid
>>> data = open('/media/emmc/DCIM/100ABC06/00059.JPG','rb')
>>> contents = data.read()
>>> len(contents)
9155
>>> uuid = uuid.UUID(contents)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/uuid.py", line 134, in __init__
ValueError: badly formed hexadecimal UUID string

请帮助我了解如何根据Python 2.7中的文件内容生成UUID。

2 个答案:

答案 0 :(得分:2)

如果您想创建文件内容的哈希值,您可能不需要UUID。相反,您应该使用hashlib和MD5,SHA-1,SHA-256或任何其他支持的算法来创建文件的指纹。

答案 1 :(得分:1)

将字符串传递给LIKE时,字符串必须是32位或16位十六进制数字。

请参阅文档https://docs.python.org/2/library/uuid.html

从32个十六进制数字的字符串创建一个UUID,一个16字节的字符串作为bytes参数,一个16字节的字符串,以little-endian顺序作为bytes_le参数,一个六元组的元组(32位time_low) ,16位time_mid,16位time_hi_version,8位clock_seq_hi_variant,8位clock_seq_low,48位节点)作为fields参数,或单个128位整数作为int参数。当给出一个十六进制数字字符串时,花括号,连字符和URN前缀都是可选的。例如,这些表达式都产生相同的UUID:

uuid.UUID()