如何在python中比较两个.sql文件?

时间:2016-01-12 08:57:08

标签: python sql sqlite python-3.x

我想比较python中的* .sql文件并捕获新文件(.sql文件)中的差异

python中是否有任何包有助于执行以下任务。

例如:

file_1.sql

 CREATE TABLE Persons
 (
 PersonID int,
 LastName varchar(255),
 FirstName varchar(255),
 Address varchar(255),
 City varchar(255)
 );  

file_2.sql

CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255),
Salary int,
JobDetail int
);

预期输出文件 - >

diff.sql

CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255),
**Salary int,
JobDetail int**
);

1 个答案:

答案 0 :(得分:1)

您可以使用difflib python模块:

from difflib import Differ
from pprint import pprint    

d = Differ()
result = list(d.compare(open('1.sql', 'r').readlines(), open('2.sql', 'r').readlines()))
pprint(result)