Python的Formatter class「允許您使用與內置format()方法相同的實現來創建和自定義您自己的字符串格式化行爲」。由於一個可以做string.Formatter不接受「{}」模板?
>>> '{}'.format(3.14)
'3.14'
和
>>> format(3.14, '')
'3.14'
我期待下工作過:
>>> string.Formatter().format('{}', 3.14)
(…)
KeyError: ''
是否有處理這個非常平常和簡單的格式化字符串與任何標準的方法格式化程序?或者在更像Python的format()
之前,必須定製格式化程序?這是真的可行robust way(線程安全的,...)?
我的猜測是格式化程序不需要理解'{}',因爲在Python 2.6和3.0中無效(改爲需要'{0}')。 –
問題* string.Format是否還支持自動編號?*在http://bugs.python.org/issue5237#msg83559 –
中討論過。您引用的線程很有趣。從2009年開始,這一方面看起來沒有太大的變化......如果確認了這一點,我會接受這個作爲對這個問題的迴應。 :) – EOL