【发布时间】:2020-09-15 15:43:16
【问题描述】:
代码从 csv 获取数据并读取到没有数据的行 - 运行良好,但代码以错误结尾 - 中断无法正常工作?执行读取所有数据的必要功能,但当它应该是 len(row) == 0 的空行时,它似乎继续通过 while true 语句超过 len(row) > 0 - 任何想法如何停止错误消息?功能很好,但错误信息显然有点烦人。
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
【问题讨论】:
-
你没有对
len(row) > 0的结果做任何事情。您可能认为那里有if声明,但没有!为什么不把底部的if移到顶部呢? -
嗨,刚刚试过,我得到一个语法错误,箭头指向 len(row) > 0 行上的 0
标签: python while-loop break