将字符串“0x00 ...”转换为 python 中的字节数组
convert a string of "0x00... " into bytearray in python
我想通过我的 COM 端口发送十六进制代码以驱动引擎。
我在使用此方法(https://openclassrooms.com/forum/sujet/convertir-fichier-tableur-csv-en-liste-sur-python,法语)打开的 .txt 中拥有所有十六进制代码。这给了我一个十六进制代码列表:
- 代码[0] = "0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45"
问题是通过我的 com 端口发送该代码。使用 ser.write(bytearray([0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45]));
有效,但我必须手动输入十六进制代码。我想从 .txt 中提取行并通过 COM 端口发送
这是我目前的代码
import serial
import csv
def convertisseur(chemin):
Tableau = []
Temps = []
Acc = []
f = open(chemin)
csv.reader(f, delimiter=',')
for row in f:
Tableau.append(row)
f.close
n = len(Tableau)
for i in range(n-1):
Temps.append(Tableau[i][0])
Acc.append(Tableau[i][1])
return (Tableau)
def main():
print("TEST DE PySerial")
print("----------------")
print
ser = serial.Serial('COM3', 115200, timeout=1)
ser.close()
ser.open()
ser.write(bytearray([0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45]));
Code=convertisseur('C:/Users/Tdeba/Desktop/Cod.txt')
ser.write(Code[0].encode())
print(Code[0].encode())
#ser.write(bytearray([0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45]));
ser.close()
return 0
if __name__ == '__main__':
main()
您可以将生成器传递给 bytearray
构造函数:
bytearray(int(i, 16) for i in s.split(","))
我想通过我的 COM 端口发送十六进制代码以驱动引擎。 我在使用此方法(https://openclassrooms.com/forum/sujet/convertir-fichier-tableur-csv-en-liste-sur-python,法语)打开的 .txt 中拥有所有十六进制代码。这给了我一个十六进制代码列表:
- 代码[0] = "0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45"
问题是通过我的 com 端口发送该代码。使用 ser.write(bytearray([0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45]));
有效,但我必须手动输入十六进制代码。我想从 .txt 中提取行并通过 COM 端口发送 这是我目前的代码
import serial
import csv
def convertisseur(chemin):
Tableau = []
Temps = []
Acc = []
f = open(chemin)
csv.reader(f, delimiter=',')
for row in f:
Tableau.append(row)
f.close
n = len(Tableau)
for i in range(n-1):
Temps.append(Tableau[i][0])
Acc.append(Tableau[i][1])
return (Tableau)
def main():
print("TEST DE PySerial")
print("----------------")
print
ser = serial.Serial('COM3', 115200, timeout=1)
ser.close()
ser.open()
ser.write(bytearray([0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45]));
Code=convertisseur('C:/Users/Tdeba/Desktop/Cod.txt')
ser.write(Code[0].encode())
print(Code[0].encode())
#ser.write(bytearray([0X53,0X0B,0X01,0X02,0XFF,0X60,0X00,0X00,0X00,0X00,0X00,0XC2,0X45]));
ser.close()
return 0
if __name__ == '__main__':
main()
您可以将生成器传递给 bytearray
构造函数:
bytearray(int(i, 16) for i in s.split(","))