Python 参数解析器 - 需要以下参数 --name

当我运行以下代码时:

def read_args():
    parser = default_parser()
    parser.add_argument('--tensorboard-dir', type=str, default='/tmp/cifar10/tensorboard')
    parser.add_argument('-N', type=int, default=50000, help="Use N training examples.")

    return parser.parse_args()

def main():
    flags = readargs()

我有以下错误输出:

以下参数是必需的:--name

错误输出

但是,当我添加 --name 参数时:

def read_args():
    parser = default_parser()
    parser.add_argument('--name', type=str, default='cifar10test')
    parser.add_argument('--tensorboard-dir', type=str, default='/tmp/cifar10/tensorboard')
    parser.add_argument('-N', type=int, default=50000, help="Use N training examples.")

    return parser.parse_args()


def main():
    flags = readargs()

也在制造问题。

有任何想法吗?

汤姆·杜法尔

似乎default_parser包含一个--name必需参数。您在第二个示例中所做的是两次定义参数 -default_parser一次在您的程序中。相反,您应该--name在从命令行调用程序时传递参数。

例子:

python cifar.py -N=1200 --tensorboard-dir=file.txt --name=cool_name

或者,您可以删除default_parser并构建自己的 ArgumentParser:

`parser = argparse.ArgumentParser()`

完整的工作演示:

import argparse

def read_args():
    parser = argparse.ArgumentParser()
    parser.add_argument('--tensorboard-dir', type=str,
                        default='/tmp/cifar10/tensorboard')
     parser.add_argument('-N', type=int, default=50000,
                         help="Use N training examples.")

     return parser.parse_args()

def main():
    flags = vars(read_args())
    # You can access your args as a dictionary
    for key in flags:
        print("{} is {}".format(key, flags[key]))

main()

解析器返回一个Namespace对象,但我们可以使用vars(Namespace). 然后,您可以通过访问字典来获取您的参数,例如,flags['N']. 请注意,它tensorboard-dir会出现tensorboard_dir在您的 Python 程序中,以避免出现减法运算符的问题

从命令行调用它(我正在使用 Bash):

python cifar.py -N=1200 --tensorboard-dir=file.txt

输出:

tensorboard_dir is file.txt
N is 1200

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python错误:需要以下参数:experimentname

来自分类Dev

Python参数解析器,在-h之前引发异常

来自分类Dev

python参数解析器中的连字符

来自分类Dev

从解析器获取参数名称,而不在 argparse python 中解析参数

来自分类Dev

python的参数解析器以大写形式打印参数名称

来自分类Dev

Python:参数解析器 - 允许没有“--”的多个参数,不是必需的

来自分类Dev

参数解析器冲突

来自分类Dev

parsy解析器的参数

来自分类Dev

pyinstaller:错误:需要以下参数:脚本名

来自分类Dev

如何修复“错误:需要以下参数:-i/--image”

来自分类Dev

Python 2.x可选子解析器-错误的参数太少

来自分类Dev

python argparse-将动作添加到不带参数的子解析器?

来自分类Dev

Python Argsparser向子解析器添加一个不带名称的参数

来自分类Dev

如何创建adb shell就像python中的参数解析器一样?

来自分类Dev

python参数解析器为列表类型输入定义变量名

来自分类Dev

解析器全部参数列表

来自分类Dev

正文解析器忽略类型参数

来自分类Dev

解析器全部参数列表

来自分类Dev

docopt模块的行为(参数解析器)

来自分类Dev

如果值和值中的“%(”:'int'类型的参数不可迭代,则来自配置解析器的python字典

来自分类Dev

配置值解析器中的python字典,如果值和值中的“%(”:类型为'int'的参数不可迭代

来自分类Dev

如何解决“ virtualenv:错误:需要以下参数:dest”错误?

来自分类Dev

定义在Boost Spirit中用子解析器参数化的解析器

来自分类Dev

定义在Boost Spirit中用子解析器参数化的解析器

来自分类Dev

参数解析器之后的Java手动验证

来自分类Dev

从命令行解析器获取无效的参数

来自分类Dev

命令行解析器库-布尔参数

来自分类Dev

日志解析器查询包含空格的参数值

来自分类Dev

输入解析器相互依赖的可选参数

Related 相关文章

  1. 1

    Python错误:需要以下参数:experimentname

  2. 2

    Python参数解析器,在-h之前引发异常

  3. 3

    python参数解析器中的连字符

  4. 4

    从解析器获取参数名称,而不在 argparse python 中解析参数

  5. 5

    python的参数解析器以大写形式打印参数名称

  6. 6

    Python:参数解析器 - 允许没有“--”的多个参数,不是必需的

  7. 7

    参数解析器冲突

  8. 8

    parsy解析器的参数

  9. 9

    pyinstaller:错误:需要以下参数:脚本名

  10. 10

    如何修复“错误:需要以下参数:-i/--image”

  11. 11

    Python 2.x可选子解析器-错误的参数太少

  12. 12

    python argparse-将动作添加到不带参数的子解析器?

  13. 13

    Python Argsparser向子解析器添加一个不带名称的参数

  14. 14

    如何创建adb shell就像python中的参数解析器一样?

  15. 15

    python参数解析器为列表类型输入定义变量名

  16. 16

    解析器全部参数列表

  17. 17

    正文解析器忽略类型参数

  18. 18

    解析器全部参数列表

  19. 19

    docopt模块的行为(参数解析器)

  20. 20

    如果值和值中的“%(”:'int'类型的参数不可迭代,则来自配置解析器的python字典

  21. 21

    配置值解析器中的python字典,如果值和值中的“%(”:类型为'int'的参数不可迭代

  22. 22

    如何解决“ virtualenv:错误:需要以下参数:dest”错误?

  23. 23

    定义在Boost Spirit中用子解析器参数化的解析器

  24. 24

    定义在Boost Spirit中用子解析器参数化的解析器

  25. 25

    参数解析器之后的Java手动验证

  26. 26

    从命令行解析器获取无效的参数

  27. 27

    命令行解析器库-布尔参数

  28. 28

    日志解析器查询包含空格的参数值

  29. 29

    输入解析器相互依赖的可选参数

热门标签

归档