使用bsdiff4格式的二进制diff和补丁

bsdiff4的Python项目详细描述


代码主要来自于cx_bsdiff(由anthony tuininga编写, http://cx-bsdiff.sourceforge.net/)。进而导出cx_bsdiff代码 从bsdiff中,可以找到为bsd生成的独立实用程序 在http://www.daemonology.net/bsdiff。 除了cx_bsdiff提供的两个功能(diff和patch)之外,这个 套餐包括:

  • an interface to the BSDIFF4-format
  • command line interfaces: bsdiff4 and bspatch4
  • tests

bsdiff4包定义了以下高级功能:

diff(src_bytes, dst_bytes)->;字节
返回bsdiff4格式修补程序(从src_bytesdst_bytes) 字节。
patch(src_bytes, patch_bytes)->;字节
将bsdiff4格式patch_bytes应用到src_bytes,并返回 字节。
file_diff(src_path, dst_path, patch_path)
将bsdiff4格式修补程序(从文件src_path写入 文件dst_path)到文件patch_path
file_patch(src_path, dst_path, patch_path)
将bsdiff4格式文件patch_path应用于文件src_path 并将结果写入文件dst_path
file_patch_inplace(path, patch_path)
将bsdiff4格式文件patch_path应用于文件path 到位。

示例:

>>> import bsdiff4
>>> a = bytes(100000 * 'a')
>>> b = bytearray(a)
>>> b[100:106] = ' diff '
>>> p = bsdiff4.diff(a, bytes(b))
>>> len(p)
154
>>> bsdiff4.patch(a, p) == b
True

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

推荐PyPI第三方库


热门话题
java Selenium运行ChromeDriver而不修改路径   java软件包sun。网www.protocol。https不可见   java AEM中的哪个类实现了javax。servlet。请求调度器接口?   在java/scala中读取zip或7z文件时的性能问题   java将一个文件写入另一个二进制文件   java在类本身中创建实例   Java中C#Action()委托的等价物?   java如何在任何类中使用@Context或类似工具获取ServletRequest?   重构(java)应该/如何重构此代码?   hibernate中的java TransientObject异常   gwt使用Java在CouchDB 2.0 fauxton中创建文档   xml错误Java Jersey:NotAuthorizedException:HTTP 401未经授权   java heroku错误:无法找到或加载主类   java从CAS 5.0检索已发布的属性。Spring Security中的x 3.2.5