簡體   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