-1

我是 python 新手,到目前为止我非常喜欢它。我想做以下任务,但我做不到,这让我发疯。

我有一个看起来像这样的file1;

a b
c d
e f

我 file2 看起来像这样:

g
h
i

我 file3 看起来像这样:

j
k
l

我想把file2和file3写入file1,所以file1看起来像这样:

a  b  g  j
c  d  h  k
e  f  i  l

基本上处理file1上当前列旁边的其他文件列。我知道为了做到这一点,我必须读取所有文件,然后重新写入文件 1。我试过了,但没有任何效果。请任何人告诉我这段代码应该是什么样子。非常感谢你。

4

2 回答 2

2

未经测试:

from itertools import izip

filenames = ['1.txt', '2.txt', '3.txt']
files = map(open, filenames)
for lines in izip(*files):
    print ''.join(i.strip() for i in lines)
于 2012-12-01T18:20:42.577 回答
1

这类似于Jon Clements 的回答,但语法不同:

with open('1.txt') as f1, open('2.txt') as f2, open('3.txt') as f3:
    for line in zip(f1,f2,f3):
        print ' '.join(e.strip() for e in line)

印刷:

a b g j
c d h k
e f i l
于 2012-12-01T19:40:52.480 回答