3
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument("--dog")
_StoreAction(option_strings=['--dog'], dest='dog', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> args = parser.parse_args(["--do", "fido"])
>>> args
Namespace(dog='fido')
這看起來像一個錯誤。我本來期望它不承認這個論點。我怎樣才能阻止這種情況發生?如何阻止argparse接受縮寫的「長名稱」標誌? (Python 2.7)
編輯:apparently this is documented behavior...
[另一個選項給你](http://stackoverflow.com/a/39479562/2877364)(在這裏發佈,因爲我不知道'@'符號將會如何廣泛地進行)。 – cxw
你可以從3.5版本盜取'argparse.py'文件。 3.5中的所有內容都應該在2.7中工作,但有一個例外,即使用get_subactions()產生的yield。你會想保留2.7版本。 'argparse'只使用一個文件,因此使用自定義文件很容易。 – hpaulj