网络编程
位置:首页>> 网络编程>> Python编程>> Python实现比较两个文件夹中代码变化的方法

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

作者:speedmancs  发布时间:2022-04-07 23:16:08 

标签:Python,比较,文件夹

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

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


# -*- coding: utf-8 -*-
import 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中不一致的文件的路径    
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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com