Put Line Numbers in Python print() Output

If you have more than a hundred lines in your Python script, remembering where in the flow any particular print output comes from can cause you pause. I felt like having the line number from my code would help me more quickly and easily recognize the output.

I googled to see if it was possible, and found a few ways to do it. This way seemed really simple, and works great. It’s especially easy because I nearly always import the ‘sys’ module in my work. This solution came from this stackoverflow post. While not the most popular answer to the issue, I thought this answer was the best one.

You can name the function whatever you want. I chose PPRINT().

The function itself.
The function itself.
Using PPRINT in code.
An example of PPRINT use in my code.
PPRINT() output in console.
Here’s the output in my console.

In this instance, I chose to split the output on two lines using the ‘\n’ right before “Export Folder” in my PPRINT statement. You can, of course, keep all the output on a single line by not doing that.

Now I have a choice between using the normal ‘print()’ function or using this ‘PPRINT()’ function. It’s very handy, and definitely a “Thing That Works.”

Here’s the function in text for copy/pasting:

import sys

def PPRINT(msg = None):
    print(f"Line No: {sys._getframe().f_back.f_lineno}: {msg if msg is not None else ''}")
Print Friendly, PDF & Email