2013-04-07 36 views
26

Tôi nhận được dữ liệu nhưpython: cách chuyển đổi uuid hợp lệ từ Chuỗi thành UUID?

{ 
     "name": "Unknown", 
     "parent": "Uncategorized", 
     "uuid": "06335e84-2872-4914-8c5d-3ed07d2a2f16" 
    }, 

và tôi cần phải chuyển đổi uuid từ String để uuid

tôi không tìm thấy một cách trên python docs, hay tôi thiếu một cái gì đó cơ bản ở đây?

+0

Bạn có thể muốn xem [câu hỏi/câu trả lời khác] này (http://stackoverflow.com/questions/534839/how-to-create-a-guid-in-python?rq=1) và cũng có [tài liệu ở đây] (http://docs.python.org/2/library/uuid.html). :) – summea

Trả lời

41

Chỉ cần vượt qua nó để uuid.UUID:

import uuid 

o = { 
    "name": "Unknown", 
    "parent": "Uncategorized", 
    "uuid": "06335e84-2872-4914-8c5d-3ed07d2a2f16" 
} 

print uuid.UUID(o['uuid']).hex 
0

Nếu câu trả lời ở trên không làm việc cho bạn để chuyển đổi một UUID hợp lệ trong định dạng chuỗi lại một đối tượng UUID thực tế ... sử dụng uuid.UUID(your_uuid_string) làm việc cho tôi.

In [6]: import uuid 
    ...: 
    ...: o = { 
    ...:  "name": "Unknown", 
    ...:  "parent": "Uncategorized", 
    ...:  "uuid": "06335e84-2872-4914-8c5d-3ed07d2a2f16" 
    ...: } 
    ...: 
    ...: print uuid.UUID(o['uuid']).hex 
    ...: print type(uuid.UUID(o['uuid']).hex) 
06335e84287249148c5d3ed07d2a2f16 
<type 'str'> 

In [7]: your_uuid_string = uuid.UUID(o['uuid']).hex 

In [8]: print uuid.UUID(your_uuid_string) 
06335e84-2872-4914-8c5d-3ed07d2a2f16 

In [9]: print type(uuid.UUID(your_uuid_string)) 
<class 'uuid.UUID'>