gpt4 book ai didi

python - 隐藏参数在哪里?

转载 作者:太空宇宙 更新时间:2023-11-04 07:48:17 27 4
gpt4 key购买 nike

我在这里调用了这个函数:

import test_hosts

test_hosts.LocalTestHost(mst, port, local_ip, remote_if_mac, remote_if_ip, service_port)

当我运行它时,解释器失败,并说我将 6 个参数传递给一个接收 7 个参数的函数。

LocalTestHost 是一个类,其构造函数采用一个 self 参数和其他六个参数:总共有 7 个参数。这是它的声明:

class LocalTestHost:

def __init__(self, mst, port, local_ip, remote_if_mac, remote_if_ip, service_port):
...

我已经盯着这段代码看了好几个小时了,但我找不到问题所在。当我按原样运行时,它失败了,因为我传递了 6 个参数,这太少了,如果我用添加的参数调用构造函数只是为了看我仍然可以计数,它说我传递了 8 个参数,这太少了许多。

最佳答案

您粘贴的代码片段看起来不错。正如其他人所说的那样,要找到问题,您应该找到仍然存在 bug 的最少数量的代码。

我的建议是

(1) 检查模块 test_hosts 是为您的 Python 版本编写的,并且它确实是正在导入的文件

(2) 将 class LocalTestHost: def __init__(... 函数复制到您的文件并尝试从那里调用它。如果您正确设置了参数的#,它会引发类似 NameError 的错误。

(3) 如果上述功能适合您,请使用运行时自省(introspection)检查 test_hosts.LocalTestHost.__init__() 签名。有人可能会通过例如改变它__init__ = staticmethod(__init__) 某处(定义静态函数的旧方法)。

请告诉我们进展如何!

关于python - 隐藏参数在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1251427/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com