0
import os
filePath = "C:\\Users\\siba\\Desktop\\1x1x1.blb"
BrickName = (os.path.splitext(os.path.basename(filePath))[0])

import sys
def ImportBLB(filePath):
    file = open(filePath)
    line = file.readline()

    while line:
        if(line == "POSITION:\n"):
            POS1 = file.next()
            POS2 = file.next()
            POS3 = file.next()
            POS4 = file.next()
            sys.stdout.write(POS1)
            sys.stdout.write(POS2)
            sys.stdout.write(POS3)
            sys.stdout.write(POS4)
            return

        line = file.readline()
    file.close()
    return

ImportBLB(filePath)

「POSITION:」行を見つけたときに一度に 4 行ずつファイルを読み込もうとしていますが、return ステートメントがループを終了させるため、最初の 4 行しか出力されません。

return ステートメントを削除すると、「ValueError: Mixing iteration and read methods would lose data」というエラーが表示されます。これを回避するにはどうすればよいですか?

4

2 に答える 2