I disagree that optparse is more broken than argparse. As someone who wanted to add some (trivial) features to argparse, I quickly backed away from that code [1]. To be honest, I was really surprised how needlessly complex that particular code is.
[1] - https://github.com/python/cpython/blob/main/Lib/argparse.py
Re:Python finally offloads some batteries
by akvadrako on Friday March 18, 2022 @04:12AM
(#30719712)
Argparse is also broken. It's not possible to create an argument that captures all remaining arguments even though the docs say it is.
There has been an open bug for this for many years.
Link to the bug?
Re:Python finally offloads some batteries
by akvadrako on Friday March 18, 2022 @05:06AM
(#30719981)
https://bugs.python.org/issue17050
Apparently after 7 years they decided it can't be fixed and updated the docs.
I'm baffled with the resolution of this bug. Removing the docs doesn't help anybody.
In my experience, argparse.REMAINDER works reasonably well, and apparently I'm not alone; there's >100 packages in Debian that use it:
https://codesearch.debian.net/search?q=%5Cbargparse%5B.%5DRE...
i suppose they are both broken, but i claim optparse is "more broken" because it lacks the nargs="+" and nargs="?" functionality, and doesn't support positional arguments.
it's also valid to suggest that a plate of spaghetti is better than a cauldron full (thus favoring optparse).
colorsys: a small handful of conversion functions you need every now and then
fileinput: quick and dirty boilerplate for when you want to accept input from files or stdin
getopt: a fine, well understood command line parser
optparse: it's a simpler more broken argparse that will eventually tell you "i'm sorry dave..." and people should stop using it
wave: great way to create or process pcm audio data without a whole framework