Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 射频协议中的txt问题_Python_Python 2.7 - Fatal编程技术网

Python 射频协议中的txt问题

Python 射频协议中的txt问题,python,python-2.7,Python,Python 2.7,我正在编写一个协议,以便通过射频发送信息。我从一个txt中获取信息,我想将每个字母拆分成一个字节,并通过Raspberry Pi中的协议SPI将其发送到RF模块。当我尝试发送新行字母代码(\n)时,我的代码出现问题。有人能帮我吗?提前谢谢 informationpacket1=array.array('B') informationpacket2=array.array('B') informationpacket3=array.array('B') informationpacket4=arr

我正在编写一个协议,以便通过射频发送信息。我从一个txt中获取信息,我想将每个字母拆分成一个字节,并通过Raspberry Pi中的协议SPI将其发送到RF模块。当我尝试发送新行字母代码(
\n
)时,我的代码出现问题。有人能帮我吗?提前谢谢

informationpacket1=array.array('B')
informationpacket2=array.array('B')
informationpacket3=array.array('B')
informationpacket4=array.array('B')

origen=open('origen.txt', 'r')

    for i in range (0, 4):
        if i==0:
            for i0 in range (0, 23):
                lectura=origen.read(1)
                origenbinario1=int(binascii.hexlify(lectura), 16)
                informationpacket1.insert(i0,origenbinario1)
        elif i==1:
            for i1 in range (0, 23):
                lectura=origen.read(1)
                origenbinario2=int(binascii.hexlify(lectura), 16)
                informationpacket2.insert(i1,origenbinario2)
        elif i==2:
            for i2 in range (0, 23):
                lectura=origen.read(1)
                origenbinario3=int(binascii.hexlify(lectura), 16)
                informationpacket3.insert(i2,origenbinario3)
        elif i==3:
            for i3 in range (0, 23):
                lectura=origen.read(1)
                origenbinario4=int(binascii.hexlify(lectura), 16)
                informationpacket4.insert(i3,origenbinario4)

destino=open('destino.txt', 'w')

for j in range (0, 4):
    if j==0:
        for j0 in range (0, 23):
            destinoASCII=binascii.unhexlify('%x' % informationpacket1[j0])
            destino.write (destinoASCII)
    elif j==1:
        for j1 in range (0, 23):
            destinoASCII=binascii.unhexlify('%x' % informationpacket2[j1])
            destino.write (destinoASCII)
    elif j==2:
        for j2 in range (0, 23):
            destinoASCII=binascii.unhexlify('%x' % informationpacket3[j2])
            destino.write (destinoASCII)
    elif j==3:
        for j3 in range (0, 23):
            destinoASCII=binascii.unhexlify('%x' % informationpacket4[j3])
            destino.write (destinoASCII)
origen.close()    
destino.close()
回溯:

Traceback (most recent call last):
  File "C:\Users\villap01\Documents\UNI\MTP\protocolo.py", line 79, in <module>
    destinoASCII=binascii.unhexlify('%x' % informationpacket2[j1])
TypeError: Odd-length string
回溯(最近一次呼叫最后一次):
文件“C:\Users\villap01\Documents\UNI\MTP\protocolo.py”,第79行,在
destinoASCII=binascii.unexlify(“%x”%informationpacket2[j1])
TypeError:奇数长度字符串
TypeError:奇数长度字符串

我猜您试图
unexlify
的字符串具有奇数长度,因此它不能是有效的十六进制字符串(因为单字节总是由两个十六进制数字定义)