如何在Python格式字符串中使用变量的值
请告诉我在Python中像这样的事情是可能的。我似乎无法让它正常工作。
MY_LENGTH_CONSTRAINT = 24
myFormatStr = '{mykey:<${MY_LENGTH_CONSTRAINT}s}'
myStr = myFormatStr.format(mykey='Something')
我一直得到这个错误
KeyError: 'MY_LENGTH_CONSTRAINT'
1 个回答
4
在传给 format
的参数中添加 mcl = MY_LENGTH_CONSTRAINT
:
MY_LENGTH_CONSTRAINT = 24
myFormatStr = '{mykey:<{mlc}s}'
myStr = myFormatStr.format(mykey='Something',
mlc = MY_LENGTH_CONSTRAINT)
print(myStr)
# Something
你还可以在格式字符串中引用本地变量,并通过传递 **locals()
来告诉 format
这些变量的值:
MY_LENGTH_CONSTRAINT = 24
myFormatStr = '{mykey:<{MY_LENGTH_CONSTRAINT}s}'
myStr = myFormatStr.format(mykey='Something', **locals())
print(myStr)
# Something
(或者类似地,使用全局变量,并将 **globals()
传给 format
。)