【发布时间】:2019-05-05 00:16:51
【问题描述】:
我正在尝试将 labview 程序“转换”为控制仪器的 python 代码。我通过 TCP-IP 连接到设备。问题是我必须发送的命令包含一个直引号 ('),我认为这会导致 SyntaxError。在 LabView 中工作的典型命令是 (param-disp 'laser1:serial-number) 所以我使用的代码是
import socket
import logging
TCP_IP = '192.168.1.1'
TCP_PORT = 5000
BUFFER_SIZE = 1024
MESSAGE = (param-disp 'laser1:serial-number)\n
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE)
data = s.recv(BUFFER_SIZE)
s.close()
print ("received data:", data)
我收到了这个错误:“SyntaxError: EOL while scanning string literal”。
如果它以\n' 结尾,那么我收到“SyntaxError:无效语法”错误。我刚开始用 Python 编写代码,显然我遗漏了一些东西。会是什么?
【问题讨论】:
-
注意你的单引号,MESSAGE应该写成:
MESSAGE = '(param-disp laser1:serial-number)\n'