2011-10-30 12 views

答えて

2

のPython 2にizip_longest命名されましたあなたはこのような何か行うことができます:

with open('myFile.txt') as fh: 
    for line1 in fh: 
    line2 = next(fh) 

    # Code here can use line1 and line2. 

をあなたは奇妙持っている場合は、next(fh)への呼び出しにStopIterationエラーを監視する必要があるかもしれませんライン。おそらく、その解決策を避けることができるのは、izip_longestのソリューションです。

1
f = open("file") 
content = f.readlines() 
print content[0] #You can choose lines from a list. 
print content[1] 

これはそれを行うための一つの方法です。これで、for-loopでリストを繰り返し処理し、必要な処理を行うか、または明示的に行を選択することができます。

+1

これは、ファイル全体を一度にメモリに読み込みます。それは素晴らしい考えではないかもしれません。 –

5

itertools recipesgrouper機能を使用してください。

from itertools import zip_longest 

def grouper(n, iterable, fillvalue=None): 
    "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx" 
    args = [iter(iterable)] * n 
    return zip_longest(fillvalue=fillvalue, *args) 


f = open(filename) 
for line1, line2 in grouper(2, f): 
    print('A:', line1, 'B:', line2) 

代わりzip_longestの使用zip終了時に奇数ラインを無視します。

zip_longest機能が

関連する問題