3
我想比较文本在两个XML文件中的特定标记的所有实例。我使用的OCR引擎输出一个带有标记<OCRCharacters>...</OCRCharacters>
中所有ocr字符的xml文件。使用差异与美丽的汤对象
我使用python 2.7.11和美丽的汤4(bs4)。在终端中,我用两个xml文件名作为参数调用我的python程序。
我想提取每个文件的<OCRCharacters>
标记中的所有字符串,将它们逐行与difflib进行比较,然后编写一个具有差异的新文件。我使用$ python parse_xml_file.py file1.xml file2.xml
从终端调用程序。
下面的代码打开每个文件并打印标签<OCRCharacters>
中的每个字符串。我应该如何将使用bs4制作的对象转换为可与difflib一起使用的字符串。我打开更好的方式(使用python)来做到这一点。
import sys
with open(sys.argv[1], "r") as f1:
xml_doc_1 = f1.read()
with open(sys.argv[2], "r") as f2:
xml_doc_2 = f2.read()
from bs4 import BeautifulSoup
soup1 = BeautifulSoup(xml_doc_1, 'xml')
soup2 = BeautifulSoup(xml_doc_2, 'xml')
print("#####################",sys.argv[1],"#####################")
for tag in soup1.find_all('OCRCharacters'):
print(repr(tag.string))
temp1 = repr(tag.string)
print(temp1)
print("#####################",sys.argv[2],"#####################")
for tag in soup2.find_all('OCRCharacters'):
print(repr(tag.string))
temp2 = repr(tag.string)