我想写一个python脚本,让我知道两个包含域列表的txt文件之间的区别
下面是我的脚本,我能够创建
import difflib
file1 = open("2.txt").readlines()
file2 = open("diff.txt").readlines()
with open ('diff.txt', 'w', encoding = 'UTF8') as diff:
for line in difflib.unified_diff(file2,file1,n=0):
for prefix in ('---','+++','@@'):
if line.startswith(prefix):
break
if line.startswith('+'):
diff.write("New DNS Entry:\n{}\n".format(line[1:]))
elif line.startswith('-'):
diff.write("Removed DNS Entry:\n{}\n".format(line[1:]))
因为unified_diff
产生上下文和字符,比如+++、--&;@@,我已经修改了我的代码来省略这个并禁用了上下文
我从上述代码接收到的输出如下:
Removed DNS Entry:
--
New DNS Entry:
++
Removed DNS Entry:
example.com
如上所述,输出将任何带有-
的内容命名为“Removed DNS Entry”,而带有+
的内容命名为“New DNS Entry”,并在两个txt文件之间的行更改的第一次迭代时停止(尽管example.com之外还有多个更改)
我期望的结果是,任何以+
开头的行都应该组合在一起并命名为“newdns Entry”,类似地,任何以-
开头的行都应该组合在一起并命名为“Removed DNS Entry”
最后,“新DNS条目”组应该显示它们相应的DNS解析
非常感谢您的帮助
目前没有回答
相关问题 更多 >
编程相关推荐