计算要传递给Python中函数的预期参数

问题描述 投票:0回答:1

我已经编写了一个TUI命令库,用于在基本终端中轻松地将单词转换为命令。看到here。尽管在进行错误捕获时,我遇到了很大的麻烦。


问题

我'需要'计算期望传递给函数对象的参数数量。我的命令是通过它们的对象存储的,因此我可以分别引用每个命令。我已经尝试过inspect,虽然看起来很完美,但是由于某些原因,它无法区分0和1作为输出1的参数。请检查here

不是问题

  • 我已经尝试查看列表是否填充了Null值,不是。
  • 它跨平台(VSCode,Repl.it,PyDroid)执行此操作,因此这不是一个奇怪的操作系统问题。
  • 我不确定是否可以将len()怪异地对待,但是我知道正常的空白列表(例如[]被计为一个。

我将其用于错误消息,并可能用于自动提示该命令出了什么问题,我将乐意提供任何帮助,并会使用新信息以及可能的,正确的和不正确的解决方案来更新我的帖子。] >


类似帖子

[This post是类似的问题,但提供的解决方案与我的要求不符。

我想计算期望传递给函数对象的参数数量。我的命令是通过它们的对象存储的,因此我可以分别引用每个命令。我已经尝试检查,而...

python python-3.x python-3.8
1个回答
0
投票
def foo(bar):
  pass

def bar(foo):
  pass

# Checks lenght of specified function's list of arguments but oddly outputs a one. 
print(f'{len(inspect.getfullargspec(foo)[0])} : {len(inspect.getfullargspec(bar)[0])}')
© www.soinside.com 2019 - 2024. All rights reserved.