Python 2.7.6优化将大端字节打包为字符串的代码

Python 2.7.6优化将大端字节打包为字符串的代码,python,struct,endianness,Python,Struct,Endianness,我需要的是一串字节, 其中每个数字都是有符号的int16大端字节 这段代码适用于我想做的事情,但我知道 有一个更优雅的解决方案 我不会花任何时间优化varA,因为它是 只在那里设置代码,不会在我的项目中使用。 另外,打印也有设置的问题,我实际上 将字节作为套接字发送 最初,我在数组中使用了它几次,但是当我转换 数组到bytearray,我不断遇到0x00的混合。 与struct相同,正如您在我的解决方案中看到的,删除 0x00结尾。这里有一个更简单的方法。这个问题不清楚这是否正是你想要的结果 i

我需要的是一串字节, 其中每个数字都是有符号的int16大端字节

这段代码适用于我想做的事情,但我知道 有一个更优雅的解决方案

我不会花任何时间优化varA,因为它是 只在那里设置代码,不会在我的项目中使用。 另外,打印也有设置的问题,我实际上 将字节作为套接字发送

最初,我在数组中使用了它几次,但是当我转换 数组到bytearray,我不断遇到0x00的混合。 与struct相同,正如您在我的解决方案中看到的,删除
0x00结尾。

这里有一个更简单的方法。这个问题不清楚这是否正是你想要的结果

import struct

    varA['Z']['value'] = 8700
    varA['Y']['value'] = 8800
    varA['X']['value'] = 8900
    varA['W']['value'] = 8800
    varA['V']['value'] = 8700
    varB = ""
    varC = ""
    for name in 'Z Y X W V'.split(' '):
     varB = C[name]['value']
     varC += str(struct.pack('>h',varB))
    print varC[:-1] + '\n'

您是否希望完全删除
0x00
字节,以便每个元素打包为一个字节?每个元素打包为两个字节,在一个没有分隔符的字符串中。结果表明,我所指的结尾处的填充实际上是通过套接字发送的“\n”。因此,我实际上是在提取数据,使其符合格式。重新阅读结构的注释时,填充只会自动添加到结构之间。要享受你的劳动成果,你可以在这里观看。谢谢你的帮助。
values = [varA[name]['value'] for name in 'ZYXWV']
varC = struct.pack('>'+str(len(values))+'h', *values)