Python Arguments With Argparse module: The Template I Use for CLI Scripting

The aim of this playbook🏁 is to try to standardize a simple use of argparse module in Python for passing named arguments from CLI (PowerShell in my case).

  1. import argparse module
  2. use if __name__ == "__main__": main() pattern to execute from terminal
  3. parse arguments within the main() function that has no parameters as all
  4. define an init_argparse() function:
  5. create a parser object by calling argparse.ArgumentParser()
  6. declare one or more arguments with parser.add_argument("--<long_param_name>")
  7. return parser
  8. parse args by creating an args object by calling parser.parse_args()
  9. define a function proper with param1, param2, ...
  10. call function_proper with params being assigned as attributes of an args object. e.g. function_proper(param1=args.param1, param2=args.param2)
  11. within a shell call the module with named arguments:
  • e.g. python foobar.py --param1="foo" --param2=="bar"

--

--

Infrastructure Support Engineer/Technical Writer (snowplow.io) with a passion for Python/writing documentation. More about me: https://pavol.kutaj.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pavol Kutaj

Infrastructure Support Engineer/Technical Writer (snowplow.io) with a passion for Python/writing documentation. More about me: https://pavol.kutaj.com