Many people who use python are used to the scriptfile workflow, where you write a rigid script in python and run it, somewhat similar to how people use bash scripts.
- You find an answer in a blog somewhere that describes how to do something in python
- You draft up a python script for the task and get it to work
- You hard-code all the parameters the script needs
Don't get me wrong – drafting up python scripts to prototype your idea is really useful. You get your idea working fast, even if your code becomes messy and unmaintainable.
However, wouldn't you like your python script to be as elegant and usable as all the command-line utilities you're used to?