恐怕这是一个基本的Python问题,但我找不到正确的答案。 我想在占位符前添加一个填充空间。用Python字符串格式填充单个空格()
这是我的例子:
user = 'Jhon'
'Hi {u}!'.format(u=user if user else '')
# result
'Hi Jhon!'
现在一切都很好,直到我的user
var为空或虚假的,在这种情况下,这是上述
'Hi !'
#^notice the empty space
相反,我想'Hi!'
作为结果结果。
现在我已经与format()
填充选项试图像{:>1}
但OFC不工作,因为它会增加足够的留白,以达到1
一个字符长度最后我做这样的事情:
'Hi{u:>{p}}!'.format(u=user if user else '', p=1+len(user))
上述工作正常,但我认为这有点不好,我想现在如果有一种内在的方式做到这一点,我错过了。
谢谢!
避免这个问题:''Hi {u}!'。format(u = user)if user else'Hi!'' - 易读且灵活。 – Ryan
'Hi {u}!'。格式(u =''+ user if user else'')? –
你们两个都是对的,@Ryan的建议看起来很快,很清楚,但不幸的是,在我的情况下,我无法使用它(示例字符串是一个缩减和简化的案例,以显示我的问题)。 – Gruber