python中的十六进制变量

问题描述 投票:-1回答:2

我正在python中定义一个字节数组,并且相同的值显示多次,我想用一个变量替换该值。这是类似代码的示例:

btarray = bytearray([
    0xa9, 0x01,
    0x6d, 0x01
])

我想而不是一直写0x01,而只是写x,以下内容可能有用吗?

x = 0x01

btarray = bytearray([
    0xa9, x,
    0x6d, x
])

有可能吗?

python arrays variables hex
2个回答
-1
投票

是的,可以!就像其他数组一样,Bytearray是可迭代的。因此,您可以执行以下操作:

x = someByteValue
for n,i in enumerate(btarray):
       if i == 0x01:
              btarray[n] = x

另一种方法是使用简单的for循环:

x = someByteValue
for i in range(len(btarray)):
       if btarray[i] == 0x01:
              btarray[i] = x

0
投票

我终于明白了你的问题!答案是!不幸的是,我没有任何文档可以链接,因为这是非常基础的并且是低级的。

© www.soinside.com 2019 - 2024. All rights reserved.