繁体   English   中英

ValueError:类型为“ str”的对象的未知格式代码“ g”

[英]ValueError: Unknown format code 'g' for object of type 'str'

我是Python的新手,正在尝试编写一个简单的打印函数,但遇到一个奇怪的错误。 这是我的代码:

#! /usr/bin/env python3.2
import numpy as np

a=np.arange(1,10,1)
print(a)
for i in a:
    print(i)
    print(type(i))
    print("{0:<12g}".format(i))

输出为:

[1 2 3 4 5 6 7 8 9]
1
<class 'numpy.int64'>
Traceback (most recent call last):
  File "./test.py", line 9, in <module>
    print("{0:<12g}".format(i))
ValueError: Unknown format code 'g' for object of type 'str'

为什么打印将“ numpy.int64”作为字符串? 我必须补充一点,它非常适合普通列表:(例如[1,2,3,4]),我非常感谢关于此问题的任何想法,谢谢;-)。

这是一个已知的错误 ,应在2.0版中修复。 在此期间,您可以使用有效的旧语法%f

有人可以为您提供更深入的答案,但是我认为这里正在发生的事情是您使用的是"{0:<12g}".format(i) ,该格式使用了特殊格式。 如果尝试使用"\\{{0}:<12g\\}".format(i) ,则可能会得到更好的结果。 使用斜杠转义{} ,这是给您的错误。

暂无
暂无

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

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