# -*- coding: utf-8 -*-
#!/usr/bin/python
import difflib
def string_similar(s1, s2):
return difflib.SequenceMatcher(None, s1, s2).quick_ratio()
# 打开文件
fo = open("aa.txt",encoding='UTF8')
f2 = open("cc.txt",encoding='UTF8')
print("文件名为: ", fo.name)
k1 = fo.readlines()
k2 = f2.readlines()
m = ' '
for line in k1:
#print(line.split()[0])
m = m + ' ' + line.split()[0]
n = ' '
for line in k2:
n = n + ' ' + line.split()[0]
print(m)
print(n)
d = difflib.Differ()
diff = d.compare(m.split(),n.split())
with open('station.txt', 'w') as f3:
f3.write('\n'.join(list(diff)))
f3.write(m)
f3.write(n)
f3.close()
#print ('\n'.join(list(diff)))
def change(a):
du = int(float(a))
tmp = (float(a)-du)*10000
fen = int(tmp/100)
miao = int(tmp-fen*100)
a = du + fen/60.0 + miao/3600.0
a = round(a,4)
return str(a)
print(change(110.2202))
with open('parameters1.txt', 'w') as f4:
for line2 in k2: #依次读取每行
line2 = line2.strip() #去掉每行头尾空白
p = line2.split()
for line1 in k1:
q = line1.split()
if p[0]==q[0]:
flag = 0
p[3] = change(p[3])
p[4] = change(p[4])
if len(p) != len(q):
f4.write('\n!!!!!!!!!!!!!!!!参数个数不同\n')
f4.write(' '.join(p))
f4.write('\n')
f4.write(' '.join(q))
else:
for i in range(len(p)):
#if p[i-1] != q[i-1] :
if string_similar(p[i-1], q[i-1]) < 0.4:
flag = 1
if flag == 1:
f4.write('\n!!!!!!!!!!!!!!!!\n')
f4.write(' '.join(p))
f4.write('\n')
f4.write(' '.join(q))
f4.close()
#for i in p:
# print("读取的数据为: %s" % (len(m)))
# 关闭文件
fo.close()
f2.close()
学着用了difflib、文本的读取写入