合并文本文件中的每两行 - Python

时间:2016-04-13 17:49:21

标签: python-2.7 file merge line

正如标题所说:是否有一种简单的方法可以在python中合并文本文件的每两行?例如,我的文本文件如下所示:

FNAME = XXX

UNAME = YYY

FNAME = ZZZ

UNAME = PPP

我想要的输出是:

fname = xxx uname = yyy

fname = zzz uname = ppp

等等。任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:1)

您可以将这些内容附加到文本文件或列表中,而不是打印:

int (*array_2d_pointer)[2];

with open("test.txt") as f:
    content = f.readlines()
    str = ""
    for i in xrange(1,len(content)+1):
        str += content[i-1].strip()
        if i % 2 == 0:
            print str
            str = ""

答案 1 :(得分:1)

这是另一种带有滑动窗口的解决方案,一次只能显示两行

with open("test.txt") as f:
    data = [x for x in f.read().split("\n") if x.strip() != ""] 
    for line1, line2 in list(zip(data, data[1:]))[::2]:
        print(" ".join([line1, line2]))

这仅适用于行数偶数的文件

答案 2 :(得分:0)

我希望它有所帮助:

import itertools
a =["fname=xxx", "uname=yyy", "fname=zzz", "uname=ppp"]
res = ''
for i in itertools.islice(a, 0, len(a), 2), itertools.islice(a, 1, len(a), 2):
    res += ' '.join(i)
    res += '\n'

print(res)

输出:

fname = xxx fname = zzz

uname = yyy uname = ppp