Python:将动态值插入二进制正则表达式模式?

Python: insert dynamic value into binary regex pattern?

我正在尝试编译一个基本上执行以下操作的表达式:

exp = b'[\x00]{2}[\x00-\xFF]{%i}' % length
exp
b'[\x00]{2}[\x00-\xFF]{32}'

不幸的是,这个 returns 错误:

exp = b'[\x00]{2}[\x00-\xFF]{%i}' % length
TypeError: unsupported operand type(s) for %: 'bytes' and 'int'

我试过:

exp = bytes('[\x00]{2}[\x00-\xFF]{%i}' % length,'utf-8')
exp
b'[\x00]{2}[\x00-\xc3\xbf]{32}'

这不是我想要的:

exp == b'[\x00]{2}[\x00-\xFF]{32}'
False

我知道我一定是忽略了一些简单的事情。帮助任何人?

Latin-1 编码似乎有效:

bytes('[\x00]{2}[\x00-\xFF]{%i}' % length,'latin-1')
b'[\x00]{2}[\x00-\xff]{34}'