【发布时间】:2016-10-17 12:41:03
【问题描述】:
我会通过 pySerial 在串行 COM 上写一个列表。
我创建了一个字符串列表,其中每个字符串都是一个参数,然后我将列表传递给串行写入函数。出现错误,因为我无法直接在串行上写入字符串列表
这是我的代码:
import datetime
import time
import sys
import serial
date = datetime.datetime.now()
dateStr = str(date.strftime('%d-%m-%Y'))
unixTime = int(time.time())
crc = str("1234")
packet = list()
packet.append('test')
packet.append(dateStr)
packet.append(unixTime)
packet.append('4')
packet.append('81')
packet.append('1')
packet.append('0')
packet.append('00.7')
packet.append('4')
packet.append('9')
packet.append('0')
packet.append('18.8')
packet.append('5')
packet.append('3')
packet.append('0')
packet.append('15.3')
packet.append('4')
packet.append('6')
packet.append('0')
packet.append('2')
packet.append('0')
packet.append('13')
packet.append('0')
packet.append('0')
packet.append('0')
packet.append('185.6')
# add semicolon between list elements
serialCOM.write(packet)
有没有办法将每个列表元素连接成一个列表或字节数组?
此外,我需要在每个列表元素之间添加一个分号。
感谢您的帮助!
【问题讨论】:
-
你试过
';'.join(packet)吗? -
此外,该列表具有
.extend()方法。不要写多行追加,只需使用packet.extend(['4', '81', '1', '0'])。 -
我的问题是关于包含字符串的列表元素。例如数据包[0]、数据包[1]、数据包[2]。我正在寻找一种将列表转换为包含列表的线性字符串的方法。
标签: python python-2.7 type-conversion concatenation pyserial