This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2008年12月05日 15:19 by ohervieu, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Messages (2) | |||
|---|---|---|---|
| msg77028 - (view) | Author: Olivier Hervieu (ohervieu) | Date: 2008年12月05日 15:19 | |
Hi guys.. i found something strange on the behavior of OptionParser
If I have this sample code :
import sys
from optparse import OptionParser
if __name__ == '__main__':
parser = OptionParser()
parser.add_option("-p", "--p", help="The P of python", default=None)
parser.add_option("-y", "--y", help="The Y of python", default=None)
(options,args) = parser.parse_args(sys.argv)
print options
and i execute :
myFile.py -p -y
the options.p will be -y and options.y will be None
worst.. if my user say :
myFile.py -p -y 'thon'
options.p will be -y and options.y will be None...
In all case I think that, if i do
myFile.py -p -y
options -p and options -y must be None
and if i want to put -y in options.p i say something like
myFile.py -p "-y" so i can do after myFile.py -p "-y" -y "thon".
|
|||
| msg77033 - (view) | Author: Georg Brandl (georg.brandl) * (Python committer) | Date: 2008年12月05日 15:37 | |
This is not a bug. By default, options in optparse take an argument -- therefore, the -y is taken as the argument to the -p option. Use e.g. add_option(..., action='store_true') to specify an option that doesn't take an argument. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:42 | admin | set | github: 48798 |
| 2008年12月05日 15:37:52 | georg.brandl | set | status: open -> closed resolution: not a bug messages: + msg77033 nosy: + georg.brandl |
| 2008年12月05日 15:19:32 | ohervieu | create | |