如何在Python 2.4中生成UUID / GUID,因为缺少UUID模块

时间:2014-08-30 21:34:02

标签: python uuid python-2.4

无法找到在Python 2.4中生成UUID的方法,因为该模块在Python 2.5中可用并且在2.7中是稳定的。我的机器是centos5&由于其他依赖不能真正使用或升级到Python 2.7

4 个答案:

答案 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