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

Pavol Kutaj
Jul 10, 2021

--

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).

steps

  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"

--

--

Pavol Kutaj

Today I Learnt | Infrastructure Support Engineer at snowplow.io with a passion for cloud infrastructure/terraform/python/docs. More at https://pavol.kutaj.com