Hacker News new | ask | show | jobs
by RyanMcGreal 4629 days ago
For a language whose motto is "There should be one - and preferably only one - obvious way to do it", Python has at least four ways to handle command line arguments out-of-the-box:

* sys.argv

* argparse

* optparse

* getopt

There are, of course, additional third party modules (like opster) that also handle arguments.

1 comments

sys.argv is part of the interpreter. The other three are abstractions over it.

optparse is deprecated (kept around for obvious backward-compat reasons)

getopt is just a different API for people who feel more comfortable with C's getopt API and don't want to learn something else

argparse is the CLI option parser for the future.

tl;dr: There is one way to parse command line arguments: sys.argv. But there are a few abstractions of doing that available in the stdlib.