Message288946
This is actually expected behaviour of the “argparse”, as well as general Unix CLI programs. See the documentation <https://docs.python.org/3.6/library/argparse.html#arguments-containing>. The general workaround is to use a double-dash separator:
>>> parser.parse_args(['--', '-_'])
Namespace(first='-_')
Example with the Gnu “rm” command:
$ echo "make a file" >-_
$ rm -_
rm: invalid option -- '_'
Try 'rm ./-_' to remove the file '-_'.
Try 'rm --help' for more information.
[Exit 1]
$ rm -- -_ # Double dash also works
Although I suppose the error message could be improved. Currently it looks like it ignores the argument:
>>> parser.parse_args(['-_'])
usage: [-h] first
: error: the following arguments are required: first
__main__.SystemExit: 2 |
|
Date |
User |
Action |
Args |
2017-03-04 00:32:46 | martin.panter | set | recipients:
+ martin.panter, r.david.murray, Max Rothman |
2017-03-04 00:32:46 | martin.panter | set | messageid: <1488587566.96.0.430918757087.issue29715@psf.upfronthosting.co.za> |
2017-03-04 00:32:46 | martin.panter | link | issue29715 messages |
2017-03-04 00:32:46 | martin.panter | create | |
|