When I’m writing real Python programs I use argparse.
When I’m writing quick scripts, I destructure
sys.argv[1:]. For example:
width, depth, height = sys.argv[1:]
…
Or, if I need to import the file:
def start(width, depth, height):
…
if __name__ == ‘__main__’:
start(*sys.argv[1:])
This is a very simple way of handling positional arguments. It
ignores sys.argv[0] which is likely the name of the
script, and then assigns the remaining arguments to the variables. If
I provide the wrong number of arguments it’s a bit shouty, but it’s
clear enough for a quick script and does remind me of the intended
arguments:
Traceback (most recent call last):
File “example.py”, line 2, in
width, depth, height = sys.argv[1:]
ValueError: too many values to unpack (expected 3)
Lazy Python Argument Parsing
Link post
When I’m writing real Python programs I use argparse. When I’m writing quick scripts, I destructure
sys.argv[1:]
. For example:Or, if I need to
import
the file:This is a very simple way of handling positional arguments. It ignores
sys.argv[0]
which is likely the name of the script, and then assigns the remaining arguments to the variables. If I provide the wrong number of arguments it’s a bit shouty, but it’s clear enough for a quick script and does remind me of the intended arguments:Comment via: facebook