Python Blender 的 math.trunc()
我在尝试在Blender 2.49b的Python中使用math.trunc这个函数。
但是我遇到了这个错误:
AttributeError: 'module' object has no attribute 'trunc'
我也导入了math模块。
错误出现在这一行:
uv[i][0] = trunc(uv[i][0] * 100000) / 100000
我还尝试用int来做,比如:
uv[i][0] = int(uv[i][0] * 100000) / 100000
但这也给我带来了一个错误:
类型错误:'float'对象不可下标访问
那么我该如何截断这个值呢?:(
谢谢你!
2 个回答
1
这可能跟Blender使用的Python版本有关(我想应该是Python 2.5)。
在Blender里试试这个:
import math
help(math)
这个操作会让Blender崩溃,但你可以在文件菜单下看到库的数学部分,然后可以往下滚动,看看Blender使用的Python版本里有没有trunc这个函数。如果没有,那就能解释为什么会出现错误。
1
第二个错误看起来是说你代码里的 uv
是一个浮点数对象,而你却试图用 uv[i]
这样的方式去访问它。你可以试试用 math.trunc(uv)
来看看结果。另外,你也可以通过 hasattr(math,'trunc')
来检查一下这个 trunc 函数是否可用。