Ignition中无法使用.format时生成含整数0/1的switch函数字符串方案
生成Ignition兼容的switch函数调用字符串
需求说明
需要编写Python代码生成特定格式的switch函数调用字符串,函数格式定义为:switch({source}, condition1, Condition Nth, value1, value Nth),其中条件值必须是整数0或1(对应布尔值True/False),示例输出如下:
"switch([.]ALARM,1,0,On,Off, Unknown)"
问题背景
工作所用的Ignition程序不支持Python的.format()字符串格式化方法,先后尝试多种写法均无法正常运行。
解决方案
咨询Ignition官方支持后得知,该程序采用旧式Python的%d格式化语法,最终验证可行的代码如下:
test3 = "switch({source}, %d, %d," % (int(conditionOne[0]), int(conditionTwo[0])) + "\"" + conditionOne[1] + "\"" + "," + "\"" + conditionTwo[1] + "\"" + ", \"Unknown\")"
内容的提问来源于stack exchange,提问作者JQTs
相关产品推荐
相关产品推荐

