Python TypeError: non-empty format string passed to object.__format__

9 浏览
0 Comments

Python TypeError: non-empty format string passed to object.__format__

最近我遇到了这个TypeError异常,我发现很难调试。最终,我将其简化为这个小测试案例:

>>> "{:20}".format(b"hi")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: non-empty format string passed to object.__format__

对我来说,这非常难以理解。对于我的代码,解决方法是将字节字符串解码为Unicode:

 >>> "{:20}".format(b"hi".decode("ascii"))
 'hi                  '

这个异常的含义是什么?有没有办法使其更清晰明了?

0