python - Python 中的字符串与 \r\n 不呈现 SCADA 标记中的回车换行符
问题描述
我有一个 python 脚本,我在其中一次构建一个字符串。我在字符串的每一行末尾添加了“\r\n”,最后一行除外。该字符串被写入 Ignition SCADA 中的标签。当我检查标签的内容时,'\r\n' 应该已经创建了回车/换行符,我只有一个空格('')。
知道为什么会这样,以及我能做些什么来让字符串正确格式化吗?
谢谢!
编辑:这是代码:
myStr = ''
for i in range(1, 10):
myStr += 'This is line ' + str(i) + '.\r\n'
resp = system.tag.write('myStrTag', myStr)
print myStr
解决方案
Ignition 正在清理这些字符串标签的输入。你不能有多行字符串,但它“知道”你想要包含它。因此,它将您的输入转换为空白字符,而不是将其保留为文字“\r\n”。如果你想拥有它,你可以包含两个反斜杠字符。
myStr += 'This is line ' + str(i) + '.\\r\\n'
如果您希望字符串在屏幕上实际显示为多行,则需要将其格式化为 HTML 字符串。这就是 Ignition 用于存储和显示带有附加格式的字符串的方法。它实际上工作得很好,可以理解大多数 HTML 和 CSS 属性。下面提供了一个示例。
myStr = '<html>'
for i in range(1, 10):
myStr += 'This is line ' + str(i) + '<br>'
myStr += 'This is the final line' + '</html>'
resp = system.tag.write('[default]Development/String Testing', myStr)
print myStr
推荐阅读
- android - 如何使用 RxBinding RxTextView.textChangeEvents 处理不同的值
- python - 更新/刷新 python Tkinter 帧
- excel - VBA比较两列并返回不匹配数据的值
- spring - Angular2+对本地脚本文件使用完整性参数
- python - 通过 Python 和 cypher 在 Agensgraph 中插入节点
- performance - CentOS 中的 NIC/网络性能调优
- javascript - 如何从按钮网格中获取单击按钮的索引?
- batch-file - 尝试从本地机器(不是服务器)运行批处理文件以在域中的每台机器上执行
- angular - 如何在 Ionic/Angular 中的 CSS 更改后避免页面重新加载
- python - csv Python中的分隔列