Python:String Formatter对齐中心

Sar*_*ran 8 python string-formatting text-alignment

print('%24s' % "MyString")     # prints right aligned
print('%-24s' % "MyString")    # prints left aligned
Run Code Online (Sandbox Code Playgroud)

如何在中心打印?有快速的方法吗?

我不希望文本位于屏幕的中心.我想这是在市中心 24位.如果我必须手动完成,那么添加相同的数字背后的数学是什么.文本之前和之后的空格?

Bło*_*tek 14

使用new-style format方法而不是%没有居中功能的旧式操作符:

print('{:^24s}'.format("MyString"))
Run Code Online (Sandbox Code Playgroud)

  • 打印(f'{“MyString”:^ 24s}') (6认同)

Dip*_*jar 10

Python 3:

您可以遵循以下语法:

stringName.center(width,fillChar)
Run Code Online (Sandbox Code Playgroud)

在你的例子中:

"MyString".center(24," ")
Run Code Online (Sandbox Code Playgroud)


Vla*_*nko 9

你可以使用str.center()方法.

在您的情况下,它将是: "MyString".center(24)

  • Imho比format选项更好,因为可以清楚地表达其意图,不仅如此,而且还可以使用不同于默认`“”`的填充字符,如以下示例所示:`print(“ MyString” .center(24 ,“-”)`→`-------- MyString --------` (2认同)
  • @gboffi也可以通过`format`更改填充字符:`print('{:#^ 24s},'。format(“ MyString”))` (2认同)