【发布时间】:2013-10-01 04:34:21
【问题描述】:
我有两个不同的文件,我想逐行比较它们的内容,并将它们的共同内容写入不同的文件。请注意,它们都包含一些空格。 这是我的伪代码:
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 文件中。但是,我的方法的问题在于,它也写了公共空格。我应该使用正则表达式来解决这个问题吗?我没有使用正则表达式的经验。
【问题讨论】:
-
当您说要逐行比较它们时,您的意思是要检查该行是在两个文件中还是在两个文件中的同一位置?你能发布示例输入和输出文件吗?
-
行应该在两个文件中(公共行)。
-
是否需要在同一个位置?就像
test在第 3 行的文件 1 中一样,它会与第 6 行的文件 2 中的test匹配吗? -
@thegrinner 我现在发布了一个示例。现在可能会更好。
-
@thegrinner 的位置并不重要,正如我所说。它应该是相同的文本,可以位于文件中的任何位置。