python uuid示例
使用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
模块用于生成通用唯一识别码(Universally Unique Identifier),常用于生成唯一 ID,比如数据库主键、会话 ID、文件名等。下面是一些常见的 uuid
使用示例。

1. 生成 UUID4(随机 UUID)
这是最常用的类型,基于随机数生成唯一 ID。
import uuid # 生成一个随机的 UUID id = uuid.uuid4() print(id) # 输出类似:f47ac10b-58cc-4372-a567-0e02b2c3d479 print(str(id)) # 转为字符串
适合大多数场景,如生成临时 token、唯一文件名等。
2. 生成 UUID1(基于时间戳和 MAC 地址)
UUID1 使用时间戳和设备的 MAC 地址生成,具有时间顺序性。
import uuid id = uuid.uuid1() print(id) # 输出类似:23f0f8f8-1a2b-11ef-ba4e-0242ac130002
注意:可能暴露主机信息(如 MAC 地址),在隐私敏感场景慎用。
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中文网其他相关文章!

热AI工具

Undress AI Tool
免费脱衣服图片

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

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

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

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

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

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