python click中的意外关键字参数

用户名
@click.group(context_settings=dict(help_option_names=['-h', '--help']))
def plot_glm():
    pass

@plot_glm.command()
@click.argument('path_nc')
@click.argument('out_path')
@click.argument('var_name')
@click.option('--xaxis_min', default=0.0, help='')
@click.option('--xaxis_max', default=1.1, help='')
@click.option('--xaxis_step', default=0.1, help='')
@click.option('--annotate_date', help='')
@click.option('--yr', default=0, help='')
@click.option('--date', default=-1, help='')
@click.option('--xlabel', default='', help='')
@click.option('--title', default='', help='')
@click.option('--tme_name', default='time', help='')
@click.option('--show_plot', help='')
@click.option('--any_time_data', help='')
@click.option('--format', default='%.2f', help='')
@click.option('--land_bg', help='')
@click.option('--cmap', default=plt.cm.RdBu, help='')
@click.option('--grid', help='')
@click.option('--fill_mask', help='')
def plot_map_from_nc(path_nc, out_path, var_name, xaxis_min=0.0, xaxis_max=1.1, xaxis_step=0.1,
                     annotate_date=False, yr=0, date=-1, xlabel='', title='', tme_name='time', show_plot=False,
                     any_time_data=True, format='%.2f', land_bg=True, cmap=plt.cm.RdBu, grid=False, fill_mask=False)

if __name__ == '__main__':
    plot_glm()

使用python click库(python版本2.7.11,Windows 10,单击版本6.6)时出现此错误:

    ctx = Context(self, info_name=info_name, parent=parent, **extra)
TypeError: __init__() got an unexpected keyword argument 'any_time_data'

我该怎么做才能解决此错误?

gdlmx

似乎您尝试像这样在代码中的某处调用plot_map_from_ncplot_glm使用实际参数:

plot_map_from_nc(any_time_data=False)
plot_glm(any_time_data=False)

这将生成与您得到的相同的错误消息。

  File "testClick.py", line 39, in <module>
    plot_glm(any_time_data=False)
  File "c:\winPython\python-2.7.10.amd64\lib\site-packages\click\core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "c:\winPython\python-2.7.10.amd64\lib\site-packages\click\core.py", line 695, in main
    with self.make_context(prog_name, args, **extra) as ctx:
  File "c:\winPython\python-2.7.10.amd64\lib\site-packages\click\core.py", line 618, in make_context
    ctx = Context(self, info_name=info_name, parent=parent, **extra)
TypeError: __init__() got an unexpected keyword argument 'any_time_data'

错误原因

那是因为在这些装饰器之后plot_map_from_ncplot_glm并且不是正常的功能click它们是可调用对象,其签名变为

plot_map_from_nc(args=None, prog_name=None, complete_var=None, standalone_mode=True, **extra)

plot_map_from_ncis的类型,click.core.Command传递给它的每个参数都将重定向到click.core.Command.main()

解决方案

调用这些可调用对象的正确方法是

plot_map_from_nc(sys.argv[1:]) # or
plot_map_from_nc()

如果要plot_map_from_nc在代码中正常使用,请使用其他名称定义它:

def __plot_map_from_nc__(... , any_time_data=True, ...):
    do_your_job_here
# create an alias
plot_map_from_nc = __plot_map_from_nc__ 
# pass this alias to click
@plot_glm.command()
@click.argument('path_nc') # ...
@click.option('--xaxis_min', default=0.0, help='') # ...
plot_map_from_nc

# Now  plot_map_from_nc becomes a   'click.core.Command'   object  while
# __plot_map_from_nc__ is still a normal function which can be invoke as
__plot_map_from_nc__(... , any_time_data=True, ...)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

意外的关键字参数“缓冲”-python客户端

来自分类Dev

__init __()在python子进程中获得了意外的关键字参数'timeout'

来自分类Dev

__init __()在Python 2中使用argparse获得了意外的关键字参数'required'

来自分类Dev

django中的意外关键字参数

来自分类Dev

``导入张量流''后python中的错误:TypeError:__init __()得到了意外的关键字参数'syntax'

来自分类Dev

``导入张量流''后python中的错误:TypeError:__init __()得到了意外的关键字参数'syntax'

来自分类Dev

在Python Matplotlib中绘制框和晶须图时得到了意外的关键字参数'label'

来自分类Dev

TypeError:__init __()在Python中为CatBoost获得了意外的关键字参数'early_stopping_rounds'

来自分类Dev

Python 3中的类“关键字参数”

来自分类Dev

忽略python中的其他关键字参数

来自分类Dev

Python 3中的类“关键字参数”

来自分类Dev

Python 3.5:TypeError:__init __()获得了意外的关键字参数'nosigint'

来自分类Dev

类的构造函数和关键字参数-Python如何确定哪个是意外的?

来自分类Dev

错误类型错误:urlretrieve()得到了意外的关键字参数'CablingFilename'python

来自分类Dev

TypeError:self._open()获得了意外的关键字参数'as_grey'python

来自分类Dev

python 2.7上的错误“ __init __()得到了意外的关键字参数'tcp_nodelay'”

来自分类Dev

Google Meet API错误:Python得到了意外的关键字参数

来自分类Dev

Spark ml 中 ALS 的意外关键字参数“coldStartStrategy”

来自分类Dev

python类关键字参数

来自分类Dev

Python max()不带关键字参数

来自分类Dev

Python文件关键字参数?

来自分类Dev

Python继承和关键字参数

来自分类Dev

通过Python关键字作为参数?

来自分类Dev

为什么在Python中的关键字参数之前需要指定位置参数?

来自分类Dev

Python:列表理解中的'as'关键字?

来自分类Dev

“输入”是Python中的关键字吗?

来自分类Dev

python中关键字pass的用法

来自分类Dev

python中“ is”关键字的行为?

来自分类Dev

python中'nonlocal'关键字的用法

Related 相关文章

  1. 1

    意外的关键字参数“缓冲”-python客户端

  2. 2

    __init __()在python子进程中获得了意外的关键字参数'timeout'

  3. 3

    __init __()在Python 2中使用argparse获得了意外的关键字参数'required'

  4. 4

    django中的意外关键字参数

  5. 5

    ``导入张量流''后python中的错误:TypeError:__init __()得到了意外的关键字参数'syntax'

  6. 6

    ``导入张量流''后python中的错误:TypeError:__init __()得到了意外的关键字参数'syntax'

  7. 7

    在Python Matplotlib中绘制框和晶须图时得到了意外的关键字参数'label'

  8. 8

    TypeError:__init __()在Python中为CatBoost获得了意外的关键字参数'early_stopping_rounds'

  9. 9

    Python 3中的类“关键字参数”

  10. 10

    忽略python中的其他关键字参数

  11. 11

    Python 3中的类“关键字参数”

  12. 12

    Python 3.5:TypeError:__init __()获得了意外的关键字参数'nosigint'

  13. 13

    类的构造函数和关键字参数-Python如何确定哪个是意外的?

  14. 14

    错误类型错误:urlretrieve()得到了意外的关键字参数'CablingFilename'python

  15. 15

    TypeError:self._open()获得了意外的关键字参数'as_grey'python

  16. 16

    python 2.7上的错误“ __init __()得到了意外的关键字参数'tcp_nodelay'”

  17. 17

    Google Meet API错误:Python得到了意外的关键字参数

  18. 18

    Spark ml 中 ALS 的意外关键字参数“coldStartStrategy”

  19. 19

    python类关键字参数

  20. 20

    Python max()不带关键字参数

  21. 21

    Python文件关键字参数?

  22. 22

    Python继承和关键字参数

  23. 23

    通过Python关键字作为参数?

  24. 24

    为什么在Python中的关键字参数之前需要指定位置参数?

  25. 25

    Python:列表理解中的'as'关键字?

  26. 26

    “输入”是Python中的关键字吗?

  27. 27

    python中关键字pass的用法

  28. 28

    python中“ is”关键字的行为?

  29. 29

    python中'nonlocal'关键字的用法

热门标签

归档