繁体   English   中英

使用 Python 为文件创建唯一标识符

[英]Create unique identifier for files using Python

我正在寻找一种强大的解决方案来定义测量数据文件的唯一标识符。 我从不同来源收集数据,主要来自网络存储。 数据文件可能会被重命名并多次复制到不同的位置。 该方法只需要在Windows平台上运行即可。 到目前为止,我做了以下工作:根据上次修改时间和文件大小创建一个 ID。 我假设该文件只会在测量过程中创建一次,之后永远不会被修改。 这是我目前的实现:

import pathlib
import datetime

def file_uid(file):

    fname = pathlib.Path(file)
    mod_time = datetime.datetime.fromtimestamp(fname.stat().st_mtime).strftime("%d.%m.%Y %H:%M:%S")
    file_size = fname.stat().st_size
    uid = '%s%s%s' %(mod_time,'_',str(file_size))
    return uid

这个想法可以奏效,还是我总体上错过了一些东西? 为这个问题完成一个强大的解决方案的最佳实践是什么? 或者我应该使用一些校验和算法 go 并且推荐什么?

我建议为每个文件分配一个简短的 UDID。 您可以使用诸如 shortuuid 之类的东西:

pip install shortuuid

然后就

shortuuid.ShortUUID().random(length=22)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM