A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

Python实现比较两个文件夹中代码变化的方法

时间:2015-07-10 16:06来源:a5源码作者:zhao浏览:38
这篇文章主要介绍了Python实现比较两个文件夹中代码变化的方法,实例分析了Python读取文件夹中文件及字符串操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下……

本文实例讲述了Python实现比较两个文件夹中代码变化的方法。分享给大家供大家参考。具体如下:

这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件

# -*- coding: utf-8 -*-

import os;

folderA = "F:ProjectsFreeImageV3_14_1".lower();

folderB = u"E:Software图像解码库FreeImage3141FreeImage".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中不一致的文件的路径

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程序设计有所帮助。