Python:如何向二进制文件添加前导零?当我尝试时,它会将它们添加到0b的左侧

Python:如何向二进制文件添加前导零?当我尝试时,它会将它们添加到0b的左侧,python,Python,在这个例子中 temp = 0b110 print temp temp.str(temp).zfill(8) print temp 输出是 0b110 0000b110 如何添加零以便看到八位二进制输出,0b00000110?如果您正在调用bin函数,或者使用带有#b的格式字符串,或者其他任何东西,结果字符串的前面有0b,那么现在填充零已经太迟了,除非您想做一些像把它拔下来这样的黑客行为,零填充n-2个字符,然后将其重新设置 但是,如果您只是在添加前缀之前(或在添加前缀时)而不是之后进行零填

在这个例子中

temp = 0b110
print temp
temp.str(temp).zfill(8)
print temp
输出是

0b110
0000b110

如何添加零以便看到八位二进制输出,0b00000110?

如果您正在调用
bin
函数,或者使用带有
#b
的格式字符串,或者其他任何东西,结果字符串的前面有
0b
,那么现在填充零已经太迟了,除非您想做一些像把它拔下来这样的黑客行为,零填充n-2个字符,然后将其重新设置

但是,如果您只是在添加前缀之前(或在添加前缀时)而不是之后进行零填充,则很容易。例如:

>>> temp = 0b110
>>> format(temp, '#010b')
'0b00000110'
本手册对此进行了详细解释,但简短的版本是:

  • #
    表示“替代形式”,它给了我
    0b
    前缀
  • 0
    表示零焊盘
  • 10
    表示宽度为10(包括
    0b
  • b
    表示二进制

如果您正在调用
bin
函数,或者使用带有
#b
的格式字符串,或者其他任何东西,结果字符串的前面有
0b
,因此进行零填充为时已晚,除非您想做一些像将其拔出、将其零填充到n-2个字符,然后再将其放回

但是,如果您只是在添加前缀之前(或在添加前缀时)而不是之后进行零填充,则很容易。例如:

>>> temp = 0b110
>>> format(temp, '#010b')
'0b00000110'
本手册对此进行了详细解释,但简短的版本是:

  • #
    表示“替代形式”,它给了我
    0b
    前缀
  • 0
    表示零焊盘
  • 10
    表示宽度为10(包括
    0b
  • b
    表示二进制

这不可能是您的代码<代码>临时str将成为一个
属性错误
。请给我们一个答案。@RoryDaulton是的,我意识到在编辑注释以修复时,它也需要更多的解释,所以我取消了,创建了一个答案,然后编辑注释为时已晚,所以我删除了它。这不可能是你的代码<代码>临时str将成为一个
属性错误
。请给我们一个答案。@RoryDaulton是的,我意识到在编辑评论以修复时,它也需要更多的解释,所以我取消了,创建了一个答案,然后编辑评论太晚了,所以我删除了它。