How to print multiple lines of text with Python
Solution 1:
You can use triple quotes (single ' or double "):
a = """
text
text
text
"""
print(a)
Solution 2:
As far as I know, there are three different ways.
Use os.linesep
in your print:
print(f"first line{os.linesep}Second line")
Use sep=os.linesep
in print:
print("first line", "second line", sep=os.linesep)
Use triple quotes and a multiline string:
print("""
Line1
Line2
""")
Solution 3:
I wanted to answer to the following question which is a little bit different than this:
Best way to print messages on multiple lines
He wanted to show lines from repeated characters too. He wanted this output:
----------------------------------------
# Operator Micro-benchmarks
# Run_mode: short
# Num_repeats: 5
# Num_runs: 1000
----------------------------------------
You can create those lines inside f-strings with a multiplication, like this:
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)
Solution 4:
The triple quotes answer is great for ASCII art, but for those wondering - what if my multiple lines are a tuple, list, or other iterable that returns strings (perhaps a list comprehension?), then how about:
print("\n".join(<*iterable*>))
For example:
print("\n".join(["{}={}".format(k, v) for k, v in os.environ.items() if 'PATH' in k]))