为什么';t python为其关联的--hhelp使用自己的argparse库?
(注意:标题中不能有“帮助”一词,因此故意拼错) python模块必须传递命令行参数。但是,当我看到python本身时,我会:为什么';t python为其关联的--hhelp使用自己的argparse库?,python,python-3.x,python-internals,Python,Python 3.x,Python Internals,(注意:标题中不能有“帮助”一词,因此故意拼错) python模块必须传递命令行参数。但是,当我看到python本身时,我会: $ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -b : issue warnings about str(bytes_ins
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-b : issue warnings about str(bytes_instance), str(bytearray_instance)
and comparing bytes/bytearray with str. (-bb: issue errors)
-B : don't write .pyc files on import; also PYTHONDONTWRITEBYTECODE=x
...
它似乎正在使用。为什么它使用这个而不是自己的库?这是为了向后兼容,还是为什么要在那里传递/解释cmdline args?对位,为什么要使用自己的
argparse
库?它仅在2.7/3.2版前后引入python标准库,在此之前,python仍然需要编写其--help
命令行文本。为什么要改变不坏的东西?我猜这是个鸡/蛋的问题。在启动Python解释器之前,它将如何调用已解释的argparse Python代码?@greenmaveguy很好。Python还具有getopt
和optpasse
库。最初使用optparse
的脚本(主解释器除外)大部分已移植到argparse
。