-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 に答える