目录
1. 生成 UUID4(随机 UUID)
2. 生成 UUID1(基于时间戳和 MAC 地址)
3. 生成 UUID3 或 UUID5(基于命名空间和名称的哈希)
4. 实际应用示例:生成唯一文件名
5. 去除连字符(紧凑格式)
首页 后端开发 Python教程 python uuid示例

python uuid示例

Jul 30, 2025 am 04:09 AM

使用uuid.uuid4()生成随机UUID,适合大多数唯一ID场景;2. 使用uuid.uuid1()基于时间戳和MAC地址生成有序ID,但可能暴露主机信息;3. 使用uuid.uuid5()或uuid.uuid3()基于命名空间和名称生成确定性UUID,相同输入产生相同输出,适用于需固定ID的场景;4. 可结合str(uuid.uuid4())生成唯一文件名;5. 通过str(uuid.uuid4()).replace("-","")或uuid.uuid4().hex获得无连字符的紧凑格式ID,适用于需要短字符串的场景。

python uuid example

在 Python 中,uuid 模块用于生成通用唯一识别码(Universally Unique Identifier),常用于生成唯一 ID,比如数据库主键、会话 ID、文件名等。下面是一些常见的 uuid 使用示例。

python uuid example

1. 生成 UUID4(随机 UUID)

这是最常用的类型,基于随机数生成唯一 ID。

import uuid

# 生成一个随机的 UUID
id = uuid.uuid4()
print(id)  # 输出类似:f47ac10b-58cc-4372-a567-0e02b2c3d479
print(str(id))  # 转为字符串

适合大多数场景,如生成临时 token、唯一文件名等。

python uuid example

2. 生成 UUID1(基于时间戳和 MAC 地址)

UUID1 使用时间戳和设备的 MAC 地址生成,具有时间顺序性。

import uuid

id = uuid.uuid1()
print(id)  # 输出类似:23f0f8f8-1a2b-11ef-ba4e-0242ac130002

注意:可能暴露主机信息(如 MAC 地址),在隐私敏感场景慎用。

python uuid example

3. 生成 UUID3 或 UUID5(基于命名空间和名称的哈希)

  • UUID3 使用 MD5 哈希
  • UUID5 使用 SHA-1 哈希

适用于需要“确定性”输出的场景:相同输入 → 相同 UUID。

import uuid

# 定义命名空间(可以自定义,也可以使用内置的如 uuid.NAMESPACE_DNS)
namespace = uuid.NAMESPACE_DNS
name = "example.com"

# 使用 UUID5(推荐,比 UUID3 更安全)
id5 = uuid.uuid5(namespace, name)
print(id5)  # 每次运行结果相同

# 使用 UUID3(MD5)
id3 = uuid.uuid3(namespace, name)
print(id3)

常用于服务中需要为某个名称生成固定唯一 ID 的场景,比如用户标识、配置项 ID。


4. 实际应用示例:生成唯一文件名

import uuid

def generate_unique_filename(suffix=".txt"):
    return str(uuid.uuid4())   suffix

filename = generate_unique_filename(".jpg")
print(filename)  # 如:a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8.jpg

5. 去除连字符(紧凑格式)

有时需要更短的字符串(如数据库 key):

import uuid

id = uuid.uuid4()
compact_id = str(id).replace("-", "")
print(compact_id)  # 如:f47ac10b58cc4372a5670e02b2c3d479

或者使用 .hex 属性:

print(id.hex)  # 同样输出无连字符的十六进制字符串

基本上就这些常见用法。根据需求选择合适的 UUID 类型即可。

以上是python uuid示例的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

PHP教程
1545
276
python run shell命令示例 python run shell命令示例 Jul 26, 2025 am 07:50 AM

使用subprocess.run()可安全执行shell命令并捕获输出,推荐以列表传参避免注入风险;2.需要shell特性时可设shell=True,但需警惕命令注入;3.使用subprocess.Popen可实现实时输出处理;4.设置check=True可在命令失败时抛出异常;5.简单场景可直接链式调用获取输出;日常应优先使用subprocess.run(),避免使用os.system()或已弃用模块,以上方法覆盖了Python中执行shell命令的核心用法。

python seaborn关节图示例 python seaborn关节图示例 Jul 26, 2025 am 08:11 AM

使用Seaborn的jointplot可快速可视化两个变量间的关系及各自分布;2.基础散点图通过sns.jointplot(data=tips,x="total_bill",y="tip",kind="scatter")实现,中心为散点图,上下和右侧显示直方图;3.添加回归线和密度信息可用kind="reg",并结合marginal_kws设置边缘图样式;4.数据量大时推荐kind="hex",用

python httpx async客户端示例 python httpx async客户端示例 Jul 29, 2025 am 01:08 AM

使用httpx.AsyncClient可高效发起异步HTTP请求,1.基本GET请求通过asyncwith管理客户端并用awaitclient.get发起非阻塞请求;2.并发多个请求时结合asyncio.gather可显着提升性能,总耗时等于最慢请求;3.支持自定义headers、认证、base_url和超时设置;4.可发送POST请求并携带JSON数据;5.注意避免混用同步异步代码,代理支持需注意后端兼容性,适合用于爬虫或API聚合等场景。

python列表到字符串转换示例 python列表到字符串转换示例 Jul 26, 2025 am 08:00 AM

字符串列表可用join()方法合并,如''.join(words)得到"HelloworldfromPython";2.数字列表需先用map(str,numbers)或[str(x)forxinnumbers]转为字符串后才能join;3.任意类型列表可直接用str()转换为带括号和引号的字符串,适用于调试;4.自定义格式可用生成器表达式结合join()实现,如'|'.join(f"[{item}]"foriteminitems)输出"[a]|[

优化用于内存操作的Python 优化用于内存操作的Python Jul 28, 2025 am 03:22 AM

pythoncanbeoptimizedFormized-formemory-boundoperationsbyreducingOverHeadThroughGenerator,有效dattratsures,andManagingObjectLifetimes.first,useGeneratorSInsteadoFlistSteadoflistSteadoFocessLargedAtasetSoneItematatime,desceedingingLoadeGingloadInterveringerverneDraineNterveingerverneDraineNterveInterveIntMory.second.second.second.second,Choos,Choos

Python连接到SQL Server PYODBC示例 Python连接到SQL Server PYODBC示例 Jul 30, 2025 am 02:53 AM

安装pyodbc:使用pipinstallpyodbc命令安装库;2.连接SQLServer:通过pyodbc.connect()方法,使用包含DRIVER、SERVER、DATABASE、UID/PWD或Trusted_Connection的连接字符串,分别支持SQL身份验证或Windows身份验证;3.查看已安装驱动:运行pyodbc.drivers()并筛选含'SQLServer'的驱动名,确保使用如'ODBCDriver17forSQLServer'等正确驱动名称;4.连接字符串关键参数

python shutil rmtree示例 python shutil rmtree示例 Aug 01, 2025 am 05:47 AM

shutil.rmtree()是Python中用于递归删除整个目录树的函数,能删除指定文件夹及其所有内容。1.基本用法:使用shutil.rmtree(path)删除目录,需处理FileNotFoundError、PermissionError等异常。2.实际应用:可一键清除包含子目录和文件的文件夹,如临时数据或缓存目录。3.注意事项:删除操作不可恢复;路径不存在时抛出FileNotFoundError;可能因权限或文件占用导致失败。4.可选参数:可通过ignore_errors=True忽略错

Python Psycopg2连接池示例 Python Psycopg2连接池示例 Jul 28, 2025 am 03:01 AM

使用psycopg2.pool.SimpleConnectionPool可有效管理数据库连接,避免频繁创建和销毁连接带来的性能开销。1.创建连接池时指定最小和最大连接数及数据库连接参数,确保连接池初始化成功;2.通过getconn()获取连接,执行数据库操作后使用putconn()将连接归还池中,禁止直接调用conn.close();3.SimpleConnectionPool是线程安全的,适用于多线程环境;4.推荐结合contextmanager实现上下文管理器,确保连接在异常时也能正确归还;

See all articles