You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blender Python如何将数组格式字符串还原为整数数组?

解决Blender Python中字符串形式数组的解析问题

方法1:使用ast.literal_eval()安全解析

这是最稳妥的处理方式,专门用于解析合法的Python字面量字符串,不会执行恶意代码,完美适配标准数组格式的字符串:

import ast

# 假设你的字符串属性值为以下内容
str_array = "[12, 15, 75, 60]"
# 解析为整数列表
int_array = ast.literal_eval(str_array)

# 正常按索引访问元素
print(int_array[0])  # 输出 12
print(int_array[2])  # 输出 75

方法2:手动字符串分割转换

如果你的字符串格式非常规整(无嵌套结构、无多余特殊符号),可以直接手动处理字符串:

str_array = "[12, 15, 75, 60]"
# 移除首尾方括号,按逗号分割成单个元素的字符串列表
element_strs = str_array.strip('[]').split(',')
# 遍历去除元素前后空格并转换为整数
int_array = [int(s.strip()) for s in element_strs]

# 验证访问结果
print(int_array[1])  # 输出 15

优化建议:直接使用Blender原生数组属性

如果后续需要存储数组类数据,建议直接使用Blender提供的原生属性类型,从根源避免字符串解析的麻烦:

import bpy

# 为对象注册一个固定长度的整数数组属性
bpy.types.Object.custom_int_array = bpy.props.IntVectorProperty(size=4)

# 给当前选中对象赋值
active_obj = bpy.context.active_object
active_obj.custom_int_array = (12, 15, 75, 60)

# 直接访问数组元素
print(active_obj.custom_int_array[3])  # 输出 60

内容的提问来源于stack exchange,提问作者Pow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:15:46