verfun是一个用于为python函数生成校验和的实用工具

verfun的Python项目详细描述


非常有趣

Build Status

verfun是一个用于为python函数生成校验和的实用工具,忽略空白、注释、变量名等。

太好了,为什么这个有用?

给定一个您想要的用例

  1. 对您的数据执行操作的算法版本
  2. 如果算法更改,则在受影响的数据上重新运行所述算法
  3. 如果只添加注释、重构变量名等,则不重新运行

特点:

生成给定函数的md5校验和,忽略以下内容:

  • 函数名
  • 文档字符串和注释
  • 空白
  • 缩进

示例用法

示例取自example.py

from verfun import version_hash_for_function, version_hash_for_function_list


def some_strange_looking_function(param1, callback_fn):
    tail = param1[-1]
    return callback_fn(tail)


def same_strange_looking_function(param1, callback_fn):
    """
    This function is documented, but the function is identical to some_strange_looking_function
    and should result in the same hash
    """
    tail = param1[-1]
    # return the callback value from the tail of param whatever that is
    return callback_fn(tail)


def different_function():
    return "this one is different"


# generate checksum for each function
print(version_hash_for_function(some_strange_looking_function))
# c4cb4d2638d790016cbee29a6ed5af8c

print(version_hash_for_function(same_strange_looking_function))
# c4cb4d2638d790016cbee29a6ed5af8c

print(version_hash_for_function(different_function))
# 8515c1678211e93362800b30ef7234cf

# generate a checksum for multiple functions
print(version_hash_for_function_list([some_strange_looking_function, different_function]))
# 1fa4dc521f63cd5a8faac4cc8402d63d

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用java创建灰度图像   java Android VideoView在长时间运行(超过24小时)后冻结   javaxml到XSL格式   servlets如何在Java中获取POST变量值   java给加入indtantly jda的用户jda一个角色的最佳方式是什么   java在读取带有列表的文件时获取所有空值   java在无管理员权限的NetBeans中使用JavaFX场景生成器2.0   java如何通过JSON API实现复杂的条件批量部分更新?   java使用ApacheLucene索引大文件时,如何避免内存不足错误?   使用协议“mapi://”从java对outlook中打开的邮件进行编码   java trywithresources详细信息   java在对JTable进行排序后无法从中获取正确的行(Swing)   单元测试如何在测试类(java)中的main中存根函数   oauth 0auth_签名在java中使用SHA1RSA   java重写equals和hashCode只是为了调用super。等于/哈希代码还是抛出断言错误?