无法找到在Python 2.4中生成UUID的方法,因为该模块在Python 2.5中可用并且在2.7中是稳定的。我的机器是centos5&由于其他依赖不能真正使用或升级到Python 2.7
答案 0 :(得分:3)
我用
做到了#!/usr/bin/env python
import commands
def uuid():
return commands.getstatusoutput('uuidgen')
if __name__ == "__main__":
print uuid()[1]
它给出了很好的预期答案e79a890c-5e3a-4c3a-bfdb-5377389b69ac
答案 1 :(得分:2)
Linux内核支持生成UUID。在我的Debian系统上,可以从/proc
的{{1}}伪文件系统访问此功能:
/proc/sys/kernel/random/uuid
如果您能够安装>>> with open('/proc/sys/kernel/random/uuid') as f:
... print(f.read())
...
1e21ee4f-953e-4179-9bea-ac9a0b9189e7
,则可以访问libuuid
命令行工具:
来自
uuidgen
uuidgen程序创建(和 使用libuuid(3)库打印一个新的通用唯一标识符(UUID)。新的UUID可以合理地使用 在本地系统上创建的所有UUID中被认为是唯一的,并且 在过去和未来在其他系统上创建的UUID中。
man uuidgen
答案 2 :(得分:1)
使用此:https://gist.github.com/mahmoudimus/56bcec09b69a2b5165aa
它是uuid模块的python 2.3+兼容版本。
示例:
curl -O https://gist.githubusercontent.com/mahmoudimus/56bcec09b69a2b5165aa/raw/b1dd7633fff6ca0cc84a3b1fe435db7c65180dac/uuid.py
使用:
>>> import uuid
>>> uuid.__file__
'uuid.py'
>>> uuid.uuid1()
UUID('520a35d2-308f-11e4-b49f-600308a2f4f0')
>>> uuid.uuid1().hex
'53bcd6be308f11e4b49f600308a2f4f0'
您也可以使用:https://pypi.python.org/pypi/pyuuid/0.0.1
pip install pyuuid
答案 3 :(得分:0)
经过一番研究后,我发现在python 2.4中提供UUID的最佳方法与python 2.5+完全相同,就是从python源代码下载UUID模块,因为它是纯python代码,所以你可以把它包含在你的项目中,例如:
wget http://svn.python.org/projects/python/trunk/Lib/uuid.py
Python 2.4.3 (#1, Jan 9 2013, 06:47:03)
>>> import uuid
>>> print uuid.uuid1
<function uuid1 at 0x2b93db1f7758>
>>> print uuid.uuid1()
e95bdba8-652d-11e6-a87a-005056bf0031