python - 如何验证 UUID 列表并返回 UUID 版本?

标签 python uuid

我需要验证 UUID 列表并确定版本。例如,使用 h ttps://www.beautifyconverter.com/uuid-validator.php并输入 25CCCA6F-1568-473E-BFED-EC08C31532C6 我可以确定它既有效又是版本 4。我从 https://www.snip2code.com/Snippet/12614/Validating-a-uuid4-with-Python- 看到和 How to determine if a string is a valid v4 UUID? UUID 模块可以一次验证一个,或测试特定版本,但不确定 UUID 是否会测试所有 4 个版本并返回版本。

最佳答案

以下是我将如何迭代潜在 UUID 列表并返回带有版本号(如果有效)或 None 否则的并行列表。

请特别注意 UUID 构造函数接受任何版本的 UUID 字符串。如果字符串有效,您可以查询 .version 成员以确定版本。

from uuid import UUID


def version_uuid(uuid):
    try:
        return UUID(uuid).version
    except ValueError:
        return None

def version_list(l):
    return [version_uuid(uuid) for uuid in l]

if __name__=="__main__":
    uuids = (
        '0d14fbaa-8cd6-11e7-b2ed-28d244cd6e76',
        '6fa459ea-ee8a-3ca4-894e-db77e160355e',
        '16583cd3-8361-4fe6-a345-e1f546b86b74',
        '886313e1-3b8a-5372-9b90-0c9aee199e5d',
        '0d14fbaa-8cd6-11e7-b2ed-28d244cd6e7',
        '6fa459ea-ee8a-3ca4-894e-db77e160355',
        '16583cd3-8361-4fe6-a345-e1f546b86b7',
        '886313e1-3b8a-5372-9b90-0c9aee199e5',
        '481A8DE5-F0D1-E211-B425-E41F134196DA',
    )
    assert version_list(uuids) == [1,3,4,5,None,None,None,None,14]

关于python - 如何验证 UUID 列表并返回 UUID 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45943754/

相关文章:

java - 检查给定 UUID 的节点是否存在

uuid - uuid -v4 和 uuidgen 有什么区别?

android - 连接到android中的蓝牙耳机

python - 从字符串中删除尾随空格的 pythonic 方法是什么?

python - 使用 Wea​​syprint 创建文件响应

python - 检查单词列表中单词的子字符串匹配

swift idForVendor,广告标识符

language-agnostic - 最少字符数的URL安全UUID

python - 如何使调用者的命名空间可用于导入函数中的 IPython 魔法?

python - 列出神经元部分属性/信息的简单方法?