如何将两个文件合并为只有一些匹配变量和具有匹配的打印
file1.txt
email@email.com b5c2eac4f288490166fe508d77652aea:R7pnHzu94YC81ZYGxtbKyWHzHbF3err0
email@email.com b850c37a676df2cba45a70917be69737:w4YcDLcGb1EP3FMszaChlc1ISJ4WMKmc
email@email.com 34e29d789d455d8b2c0dd2678fbe52cf:k5htfMNJRgQFJ85u9X5Tzw9yoUVZtvpx
file2.txt
b5c2eac4f288490166fe508d77652aea:R7pnHzu94YC81ZYGxtbKyWHzHbF3err0:123456x
b850c37a676df2cba45a70917be69737:w4YcDLcGb1EP3FMszaChlc1ISJ4WMKmc:12345678x
3bb3c0d55eee3da5a437cba2280a5a51:WZcwgstCh3Ku8pxgx32xtluzHPvupxzb:54321
输出
email@email.com:123456x
email@email.com:12345678x
试码
with open('file1.txt') as file1, open('file2.txt') as file2:
for line in file1:
data = line.split(" ")
md5 = data[1].strip()
email = data[0].strip()
for line2 in file2:
data2 = line.split(":")
passwd = data2[1].strip()
if data2[0].strip() == md5:
您将需要以下内容
它包括三个步骤:
output
列表中output
列表写入输出文件注意:在第二种情况下,您只需要
strip()
(使用rstrip()
)来删除任何可能的前导/尾随空格和换行符。它在第一个split()
中是不必要的,因为没有参数的split()
将为您处理此问题请注意,第一个文件的
split()
没有参数,这就足够了,因为默认拆分是在空白处完成的对于第二个文件中的
split()
,我们改用rsplit
,因为我们在:
上拆分,希望前两个字段合并为一个相关问题 更多 >
编程相关推荐