2

Python でファイルを 1 行ずつ読みたいのですが、(if 条件に基づいて) 場合によっては、ファイルの次の行も読み込んで、同じように読み続けたいと思います。

例:

    file_handler = open(fname, 'r')
    for line in file_handler:
       if line[0] == '#':
           print line
       else:
           line2 = file_handler.readline()
           print line2

基本的にこの例では1行ずつ読み込もうとしていますが、行が次の行で始まらない場合は#、次の行を読んで印刷し、2行目以降も読み続けます。これは、コードで行っている同様のことでエラーが発生した例にすぎませんが、私の目標はタイトルに記載されているとおりです。

しかし、次のようなエラーが発生しますValueError: Mixing iteration and read methods would lose data

私がやろうとしていることをよりスマートな方法で行うことは可能でしょうか?

4

6 に答える 6

-2

if line[0] == "#"line[0] = "#" の代わりに試してください

于 2013-04-29T22:21:57.317 に答える