如何用空格填写Python字符串

我想用空格填写一个字符串。我知道以下适用于零的:

我想用空格填写一个字符串。我知道以下适用于零的:

>>> print  "'%06d'"%4
'000004'

但是当我想要这个时,我该怎么办?:

'hi    '

当然,我可以测量字符串长度和做str+" "*leftover,但我想最短的方式。

910

您可以使用str.ljust(width[, fillchar])执行此操作:

返回长度为width的字符串中左对齐的字符串。使用指定的fillchar(默认为空格)进行填充。如果width小于len(s),则返回原始字符串。

>>> 'hi'.ljust(10)
'hi        '
526

对于一个灵活的方法,即使在格式化复杂的字符串,你可能应该使用string-formatting mini-language

使用f-strings

>>> f'{"Hi": <16} StackOverflow!'  # Python >= 3.6
'Hi               StackOverflow!'

str.format()方法

>>> '{0: <16} StackOverflow!'.format('Hi')  # Python >=2.6
'Hi               StackOverflow!'
185

新的(ish)string format method允许您使用嵌套的关键字参数做一些有趣的事情。最简单的情况:

>>> '{message: <16}'.format(message='Hi')
'Hi             '

如果要将16作为变量传入:

>>> '{message: <{width}}'.format(message='Hi', width=16)
'Hi              '

如果要传入whole kit and kaboodle的变量:

'{message:{fill}{align}{width}}'.format(
   message='Hi',
   fill=' ',
   align='<',
   width=16,
)

这导致(你猜对了):

'Hi              '

对于所有这些,您可以使用python 3.6+ f-strings

message = 'Hi'
fill = ' '
align = '<'
width = 16
f'{message:{fill}{align}{width}}'

当然结果是:

'Hi              '
87

您可以尝试以下操作:

print "'%-100s'" % 'hi'

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(788)
Dart中的点前问号
上一篇
使用并行拆分 Fasta文件
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(23条)