【发布时间】:2017-05-24 06:23:56
【问题描述】:
我正在尝试编写 Pcap 生成器,我想将固定长度的字节写入文件。我嗅到的帧长度显然总是可变的,但我也应该在 Pcap 数据包头中定义这个长度。我将其设置为 1500 字节。有什么方法可以将前导零放在字节对象中,使其完成到 1500 字节?
【问题讨论】:
标签: python io pcap packet-sniffers
我正在尝试编写 Pcap 生成器,我想将固定长度的字节写入文件。我嗅到的帧长度显然总是可变的,但我也应该在 Pcap 数据包头中定义这个长度。我将其设置为 1500 字节。有什么方法可以将前导零放在字节对象中,使其完成到 1500 字节?
【问题讨论】:
标签: python io pcap packet-sniffers
使用bytes.zfill。
>>> bs = bytes([1, 2, 3])
>>> bs
b'\x01\x02\x03'
>>> padded = bs.zfill(10)
>>> padded
b'0000000\x01\x02\x03'
这是documentation 的bytes.zfill:
bytes.zfill(width)
bytearray.zfill(width)返回用 ASCII
b'0'数字填充的序列的副本,以生成长度为width的序列。前导符号前缀 (b'+'/b'-'通过在符号字符之后插入填充来处理,而不是 比以前。对于bytes对象,如果满足以下条件,则返回原始序列 宽度小于或等于len(seq)。
【讨论】: