我有两个不同的文件,我想逐行比较它们的内容,并将它们的共同内容写在不同的文件中。请注意,它们都包含一些空格。这是我的伪代码:
file1 = open('some_file_1.txt', 'r')
file2 = open('some_file_2.txt', 'r')
FO = open('some_output_file.txt', 'w')
for line1 in file1:
for line2 in file2:
if line1 == line2:
FO.write("%s\n" %(line1))
FO.close()
file1.close()
file2.close()
但是,通过这样做,我的 FO 文件中有很多空白区域。似乎也写了常见的空格。我只想写正文部分。有人能帮帮我吗。
例如:我的第一个文件(file1)包含数据:
Config:
Hostname = TUVALU
BT:
TS_Ball_Update_Threshold = 0.2
BT:
TS_Player_Search_Radius = 4
BT:
Ball_Template_Update = 0
而第二个文件 (file2) 包含数据:
Pole_ID = 2
Width = 1280
Height = 1024
Color_Mode = 0
Sensor_Scale = 1
Tracking_ROI_Size = 4
Ball_Template_Update = 0
如果你注意到,每个文件的最后两行是相同的,因此,我想把这个文件写在我的 FO 文件中。但是,我的方法的问题在于,它也写入了公共空格。我应该使用正则表达式来解决这个问题吗?我没有使用正则表达式的经验。
原文由 Sanchit 发布,翻译遵循 CC BY-SA 4.0 许可协议
此解决方案一次读取两个文件,排除空行,并打印公共行,无论它们在文件中的位置如何: