The optparse library is currently marked in the documentation as deprecated in favor of argparse. However, argparse uses a nonstandard reinterpretation of Unix command line grammars that makes certain arguments impossible to express, and causes scripts to break when ported from optparse to argparse. See the bug report I filed nine years ago:
The conclusion of the core developers (e.g. msg309691) seems to have been that although it’s a valid bug, it can’t or won’t be fixed with the current argparse architecture.
Activity
andersk commented on May 30, 2019
The optparse library is currently marked in the documentation as deprecated in favor of argparse. However, argparse uses a nonstandard reinterpretation of Unix command line grammars that makes certain arguments impossible to express, and causes scripts to break when ported from optparse to argparse. See the bug report I filed nine years ago:
https://bugs.python.org/issue9334
argparse does not accept options taking arguments beginning with dash (regression from optparse)
The conclusion of the core developers (e.g. msg309691) seems to have been that although it’s a valid bug, it can’t or won’t be fixed with the current argparse architecture.
I was asked by another core developer to file a bug report for the de-deprecation of optparse (https://discuss.python.org/t/pep-594-removing-dead-batteries-from-the-standard-library/1704/20), so here it is.
tirkarthi commented on May 31, 2019
See also bpo-25521
savannahostrowski commented on Jan 31, 2025
This was done via #126227