labview和python脚本_通过python节点将字典从LabVIEW传递到python脚本
没有直接的方法。在
最简单的方法是使用JSON字符串。在
从LabVIEW到Python
LabVIEW集群可以扁平化为JSON(Strings>;Flatten/unflatten):
结果字符串只需一行(加上一个import)python就可以转换成dict:>>> import json
>>> myDict=json.loads('{"MyString":"FooBar","MySubCluster":{"MyInt":42,"MyFloat":3.1410000000000000142},"myIntArray":[1,2,3]}')
>>> myDict
{u'MyString': u'FooBar', u'MySubCluster': {u'MyInt': 42, u'MyFloat': 3.141}, u'myIntArray': [1, 2, 3]}
>>> myDict['MySubCluster']['MyFloat']
3.141
从Python到LabVIEW
Python方面又很简单:
^{pr2}$
在LabVIEW中,从string中取消格式化JSON,并使用默认值连接预期结构的集群:
这当然需要dict的结构是固定的。
如果不是,您仍然可以通过将路径指定为数组来访问单个元素:
限制:
虽然这很有魅力(你注意到我的语言环境使用逗号作为十进制符号吗?),并非所有数据类型都受支持。例如,JSON本身没有时间数据类型,也没有专用路径数据类型,因此JSON-VIs拒绝处理它们。使用数字或字符串数据类型,并在LabVIEW中进行转换。在
excouse:LabVIEW中的dict-ish数据类型
如果您需要LabVIEW中的动态数据类型,请查看变量的属性。
这是一对键(字符串)和值(任何数据类型!),它可以被添加,读起来就像在Python中一样简单。但是没有(内置的,简单的)方法来使用它与Python交换数据。在