【问题标题】:How to execute with optional argument in Spyder? [duplicate]如何在 Spyder 中使用可选参数执行? [复制]
【发布时间】:2019-05-15 01:17:49
【问题描述】:

我不知道如何在 Spyder 上执行带有可选参数的程序。我知道如何将变量传递给它,但是我的程序使用了argparse,我想用“-h”或“--help”选项执行它,代码如下

import argparse
parser = argparse.ArgumentParser()
parser.parse_args()

目前,它只有“-h”/“--help”的默认可选参数,我尝试将它放在“命令行选项”上,但它不起作用。

【问题讨论】:

  • 你的问题和this one一模一样,请删除。
  • 我不认为这是重复的,因为这不是我要的,我尝试按照该问题的答案进行操作,但是当我尝试执行时它不起作用spyder 上的程序,例如“-h”选项,它说它不识别它。

标签: python arguments optional spyder


【解决方案1】:

您必须定义参数才能使用它们。看起来它只是使用了默认的 argparse 方法,它只在构造函数中定义了帮助方法。

在此处查看文档:https://docs.python.org/3/library/argparse.html

这是我之前使用的解析args的示例方法:

import argparse


def process_args(source=None):
    parser = argparse.ArgumentParser(prog='my-awesome-program')
    parser.add_argument('--value1', dest='value1', type=str)
    parser.add_argument('--value2', dest='value2', type=str)

    args = parser.parse_args(source)
    return args


def main():
    args = process_args()
    args = vars(args)

    my_value_1 = args['value1']
    my_value_2 = args['value2']
    print('%s, %s' % (my_value_1, my_value_2))


if __name__ == '__main__':
    main()

【讨论】:

    猜你喜欢
    • 2023-01-18
    • 1970-01-01
    • 2019-09-12
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多