Python:字符串格式化程序,用于标注下划线

问题描述 投票:2回答:2

为了构建我的控制台输出,我想打印一些信息,我想从带下划线的标题开始。但是如何在不创建额外变量的情况下很好地完成它?

现在我这样做:

print("{:s}\n{:s}\n".format("This is an underlined headline.", len("This is an underlined headline.") * "-"))

什么给了我想要的输出:

This is an underlined headline.
-------------------------------

但那段代码很糟糕。有没有更好的格式字符串来实现?

print("{0:s}\n?????\n".format("This is an underlined headline.", "-"))

谢谢 :)

python string printing format python-3.7
2个回答
1
投票

也许尝试使用ANSI转义序列

class Format:
    end = '\033[0m'
    underline = '\033[4m'

print(Format.underline + 'Your text here' + Format.end)

它将打印带下划线的文本,对于整个ANSI转义序列文档,请单击here


0
投票

有一个unicode字符'\u0332',COMBINING LOW LINE *,它作为字符串中字符的下划线。所以你可以尝试:

print('{:s}'.format('\u0332'.join('This is an underlined headline.')))

哪个应该生成带下划线的字符串:

这是一个带下划线的标题。

但是,输出的外观可能取决于呈现输出的应用程序及其使用的字体。我的浏览器生成带下划线的字符串,我的(Linux)终端显示它,好像每个字符后跟一个下划线。

*还有'\u0333',COMBINING DOUBLE LOW LINE,双下划线。

© www.soinside.com 2019 - 2024. All rights reserved.