繁体   English   中英

python 中的十六进制变量

[英]hex variables in python

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

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

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

x = 0x01

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

可能吗?

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

是的,你可以,就像任何其他阵列一样。 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM