Should I use a main() method in a simple Python script?

I always write a main() function (appropriately named), and put nothing but command-line parsing and a call to main() in the if __name__ == '__main__' block. That’s because no matter how silly, trivial, or single-purpose I originally expect that script to be, I always end up wanting to call it from another module at some later date.

Either I take the time to make it an importable module today, or spend extra time to refactor it months later when I want to reuse it for something else.

Always.

Every time.

I’ve stopped fighting it and started writing my code with that expectation from the start.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)