如何使用 str.format() 规范中的变量来确定宽度和精度?
(我在 Python 3 中。)
这工作正常:
print(' {:<127.127} {:<}'.format(value[1], value[0]))
但这给出了一个错误:
SHOWLEN = 127
print(' {:<SHOWLEN.SHOWLEN} {:<}'.format(value[1], value[0]))
具体来说,我得到:
Traceback (most recent call last):
File "C:\Users\Dave\Desktop\index\treeIndex.py", line 101, in <module>
treeIndex(sys.argv[1])
File "C:\Users\Dave\Desktop\index\treeIndex.py", line 96, in treeIndex
print(' {:<SHOWLEN.SHOWLEN} {:<}'.format(value[1], value[0]))
ValueError: Invalid format specifier
如何为精度和宽度使用变量?
最佳答案
将 SHOWLEN
括在括号中
"{varname:<{SHOWLEN}.{SHOWLEN}f}".format(varname=34.54, SHOWLEN=8)
这从 Format String Syntax 文档中的以下引用中可以明显看出: