如何用python打印多行文本

时间:2016-01-24 19:17:53

标签: python python-3.x

如果我想在Python中打印多行文本而不为每行键入print(''),有没有办法做到这一点?我正在将它用于ASCII艺术。

(python 3.5.1)

4 个答案:

答案 0 :(得分:31)

您可以使用三重引号(单个或双重):

a = """
text
text
text
"""

print(a)

答案 1 :(得分:8)

据我所知,有3种不同的方式。

在打印中使用\n

print("first line\nSecond line")

在打印中使用sep="\n"

print("first line", "second line", sep="\n")

使用三引号和多行字符串

print("""
Line1
Line2
""")

答案 2 :(得分:1)

三重引号的答案对于ascii艺术很有用,但对于那些想知道的人 - 如果我的多行是元组,列表或其他返回字符串的迭代(可能是列表理解?),那该怎么样:

print("\n".join(<*iterable*>))

例如:

print("\n".join([ "{}={}".format(k, v) for k, v in os.environ.items() if 'PATH' in k ]))

答案 3 :(得分:0)

我想回答以下与这个稍有不同的问题:

best way to print messages on multiple line

他也想显示重复字符的行。他想要这个输出:

----------------------------------------
# Operator Micro-benchmarks
# Run_mode : short
# Num_repeats : 5
# Num_runs : 1000

----------------------------------------

您可以使用乘法在f字符串中创建这些行,如下所示:

run_mode, num_repeats, num_runs = 'short',5,1000

s = f"""
{'-'*40}
# Operator Micro-benchmarks
# Run_mode : {run_mode}
# Num_repeats : {num_repeats}
# Num_runs : {num_runs}

{'-'*40}
"""

print(s)