玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python源码实例_Python程序源代码_网站项目下载 > 正文内容

如何用Python代码实现自动比较两个文件中的代码变化?

Python入门佳作 经典教程的全新修订 10个项目引人入胜
玩蛇网推荐图文教程:python黑客多线程扫描器

如何用Python代码实现自动比较两个python文本与文件中的代码变化?用Python代码比较不同文件夹中代码变化实例讲解。在日常工作中我们常会修改其它人做的文件,修改过程中会出现多处不同,这不是人脑能记住的。在与原始文件做比对的时候,如果有脚本可以自动检测最好不过了。本文中就利用Python来做了这一实现,可以帮助对比检测两个不同文件夹中的代码做了如何变化。

以下为用Python代码比较不同文件夹中代码变化实例讲解代码部分:

python文件对比

需要python import导入python os模块

import os;
#导入os模块

folderA = "F:\\Projects\\FreeImageV3_14_1\\".lower();
folderB = u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\".lower();

filePathsA = {};
filePathsB = {};

for root,dirs,files in os.walk(folderA):
	for fileName in files:
		filePathsA[(root + "\\" + fileName).lower()] = 1;

for root,dirs,files in os.walk(folderB):
	for fileName in files:
		filePathsB[(root + "\\" + fileName).lower()] = 1;
		
# 在filePathsA中查找到所有在filePathsB中不一致的文件的路径		
# 玩蛇网 www.iplaypython.com

modifiedFilePath = [];

addedFilePath = [];

for filePathA in filePathsA:

	folderALen = len(folderA);
	filePathB = folderB + filePathA[folderALen:]; 
	
	idx = filePathA.rfind(".");
	if idx == -1:
		continue;
	
        ext = filePathA[idx + 1:];
	ext = ext.lower();
	
        if ext != "c" and ext != "h" and ext != "cpp" and ext != "cxx":
		continue;
	if filePathB not in filePathsB:
		addedFilePath.append(filePathA);
		continue;

#以下打开操作后,一定要记得关闭

	text_file = open(filePathA, "r");
	textA = text_file.read();
	text_file.close();
	
	text_file = open(filePathB, "r");
	textB = text_file.read();
	text_file.close();
	
	if textA != textB:		
		modifiedFilePath.append(filePathA);

output = open('res.txt', 'w');
output.write("added files:\n");

for filePath in addedFilePath:
	output.write(filePath + "\n");

output.write("modified files:\n");

for filePath in modifiedFilePath:
	output.write(filePath + "\n");
output.close();#关闭!

如何用Python代码实现自动比较两个文件中的代码变化?就简单介绍这些了。上面的python代码还可以更精简,供大家学习参考。也可以以这个代码为基础,做修改,做多文件比较,多类型比较等。

推荐阅读相关内容
Python open()函数文件打开、读、写write操作详解

玩蛇网文章,转载请注明出处和来源网址:http://www.iplaypython.com/code/c2703.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网PythonQQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
出炉日期:2016-01-31 19:24 玩蛇网 www.iplaypython.com

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules