如果我们在命令行上从分配的应用程序开始,则ArgumentParser不能正常运行

时间:2019-07-18 22:02:02

标签: python argparse

我使用argparse多年,并使用链接到.py的默认应用程序启动脚本。

最近,它喜欢argparse不执行任何操作。如果我开始 py test.py -d 要么 python script.py -d 一切正常。

过去没有问题。我用序言“ python”更改启动脚本。

import sys
from argparse import ArgumentParser

if __name__ == "__main__":
    parser = ArgumentParser()
    parser.add_argument('-d', '--debug', help='debug mode', action='store_true')
    args = parser.parse_args()

    print(sys.version)
    print(args)
    print(args.debug)

我们得到的结果是

c:\Work>test.py -d
3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]
Namespace(debug=False)
False

c:\Work>python test.py -d
3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)]
Namespace(debug=True)
True

1 个答案:

答案 0 :(得分:0)

Windows 10-设置(按文件类型选择默认应用程序)中的关联已设置为“ Python”。 我将“ Python启动”更改为“否”,并且现在一切正常。