You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于CLI输入参数生成短且唯一的字符串作为文件标识符

你得到的是hashlib生成的MD5计算对象,而非最终哈希结果,只要调用hexdigest()方法就能得到可读的十六进制哈希字符串,再切片取前20位即可。

基础修改版

直接在原有代码基础上补充方法调用即可:

import sys
import hashlib

file_id = hashlib.md5(str(sys.argv).encode("utf-8")).hexdigest()[:20]
print(file_id)

更稳妥的优化版

直接转换str(sys.argv)存在极端场景下的参数冲突风险,比如不同参数组合刚好生成相同的字符串表示,建议用不会出现在常规CLI参数中的特殊字符拼接所有参数后再做哈希:

import sys
import hashlib

# 用ASCII空字符拼接参数,避免不同参数意外拼出相同字符串
param_content = "\x00".join(sys.argv)
file_id = hashlib.md5(param_content.encode("utf-8")).hexdigest()[:20]
print(file_id)

20位长度的MD5切片碰撞概率极低,完全可以满足普通业务场景下的唯一标识需求。

内容的提问来源于stack exchange,提问作者ErnestoC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:15:00