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」というエラーが表示されます。これを回避するにはどうすればよいですか?