我是Python新手,我正在尝试编写一个简单的打印函数,但出现一个奇怪的错误。这是我的代码:ValueError:类型为'str'的对象的未知格式代码'g'
#! /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])我非常感谢关于此问题的任何想法,谢谢;-)。
你实际上并没有使用Python 3.2,是吗?没有Python 3的numpy的完成版本。另外,我无法在Windows上使用Python 2.7和Python 32位(它们是'int32'而不是'int64')来重现。这可能特定于某个版本的numpy或Python,或特定于64位Python。 – agf 2012-04-23 08:17:52
我正在使用Python 3.2.2,至少这是Python在命令行中输入python3时在其版权声明上方所说的内容! (我正在使用Linux) – makhlaghi 2012-04-23 08:21:06
添加'import sys;打印(sys.version)'到你的代码,看看这个脚本实际运行的版本是什么。 – agf 2012-04-23 08:35:51