すべての行を読み取り、最初の行 (シーケンス) を 2 つの変数に割り当てています。これは、最初の行が 2 文字で構成されている場合にのみ機能します。代わりに、ファイルを反復子として使用します。
newdata = {}
os.chdir("//GOLLUM//tbg2//tbg2//forritGB")
with open(filename) as f:
for line1 in f:
newdata[line1.strip()] = next(f, '').strip()
ここでnext()
は、ファイルから次の行を読み取ります。
別の方法は、ペアワイズ レシピを使用することです。
from itertools import izip_longest
def pairwise(iterable):
return izip_longest(*([iter(iterable)] * 2), '')
newdata = {}
os.chdir("//GOLLUM//tbg2//tbg2//forritGB")
with open(filename) as f:
for line1, line2 in pairwise(f):
newdata[line1.strip()] = line2.strip()
呼び出しに注意してstr.strip()
、余分な空白 (各行の末尾にある改行を含む) を削除します。