似乎无法在正确循环时中断。出现错误消息

问题描述 投票:0回答:1

代码从csv中获取数据并无数据读取到行-效果很好,但是代码以错误结尾-中断无法正常工作?执行读取所有数据的必要功能,但当它应该是len(row)== 0的空行时,似乎会继续经过len(row)> 0的while true语句-任何想法如何停止错误消息?功能不错,但错误消息显然有点烦人。

while True:  
    len(row) > 0
    row = csvFileArray[rowValue]  # row 
    x, y, z, l, m, n, p, q, r = row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8]

    x = float(x)
    y = float(y)
    z = float(z)
    l = float(l)
    m = float(m)
    n = float(n)
    p = float(p)
    q = float(q)
    r = float(r)

    y_axis = Vector((l, m, n))
    z_axis = Vector((p, q, r))

    x_axis = y_axis.cross(z_axis).normalized()

    M = Matrix((x_axis, y_axis, z_axis)).transposed()

    M = M.to_4x4()

    M.translation = scale * Vector((x, y, z))

    #test
    print(M)
    print(x_axis, y_axis, z_axis)
    bpy.ops.object.empty_add()
    mt = context.object
    mt.empty_display_type = 'ARROWS'
    mt.matrix_world = M

    rowValue = rowValue + 1

    if len(row) == 0:
        break
python while-loop break
1个回答
0
投票

len(row) > 0,此语句放错了位置,尝试,

while len(row) > 0:

而不是while True:或删除该行,然后更改中断条件:

    if len(row) == 0:
        break

to

    if len(row) <= 0:
        break
© www.soinside.com 2019 - 2024. All rights reserved.