私はテキスト ファイルを持っており、1 行おきにテキストのチャンクを抽出する必要がある条件を設定していますが、テキストのチャンクは任意の行数にすることができます (バイオインフォマティクス関係者向けの FASTA ファイル)。基本的には次のように設定されています。
> header, info, info
TEXT-------------------------------------------------------
----------------------------------------------------
>header, info...
TEXT-----------------------------------------------------
...など。
「TEXT」部分を抽出しようとしています。設定したコードは次のとおりです。
for line in ffile:
if line.startswith('>'):
# do stuff to header line
try:
sequence = ""
seqcheck = ffile.next() # line after the header will always be the beginning of TEXT
while not seqcheck.startswith('>'):
sequence += seqcheck
seqcheck = ffile.next()
except: # iteration error check
break
next() を呼び出すたびに for ループが続行され、多くの行がスキップされ、多くのデータが失われるため、これは機能しません。イテレータを前に移動せずに、次の行を「覗く」にはどうすればよいですか?