Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1416792
  • 博文数量: 264
  • 博客积分: 5810
  • 博客等级: 大校
  • 技术积分: 3528
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 17:15
文章分类

全部博文(264)

文章存档

2011年(264)

分类: Python/Ruby

2011-05-30 22:55:57

前段时间在此问过有没有比较好的diff和patch解决方案.当时几位热心同学给的方案大致以下两种: 1. 使用difflib 2. 使用unix系的diff和patch应用程序(有windows版本). 经实验, difflib 的ndiff和restore可以提供diff结果和还原的操作, 但diff结果将包含两段比较文本全部内容, 不是我希望的只包含差异结果.(PS:我现在就是需要差异结果!!!) difflib 的unified_diff可以比较出完善的统一diff格式的结果, 仅有差异部分, 符合我的要求.PS:找到这个来试试

但difflib中没有提供一个函数可以还原这种比较结果. 因此我试图找到可以还原统一diff格式结果的方案, 其中尝试采用unix系的patch应用程序, 可以成功但局限性比较大(当然也可能是我方法有问题). 我使用patch的时候是采用文件系统过渡的方式, 起单独进程对临时文件做patch后再获取patch结果. 这种操作方式当我把turbogears做成windows服务时就失败了. 因此继续查找是否有用python代码实现的patch, 后来一位叫Michael Head的同学告知我有个conary's patch library, 地址 完全满足要求, 于是将起check出来, 在import等一些小地方做了一些改动.使之全部使用标准库. 放到我的工程中运行良好. 我使用的patch代码地址: http://cudoc.googlecode.com/svn/trunk/OnlineAPIDoc/onlineapidoc/patch.py

阅读(1290) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

网络安全服务2011-05-31 09:27:47

沙发一下``