TypeError: __init__() takes from 1 to 6 positional arguments but 7 were given

TypeError: __init__() takes from 1 to 6 positional arguments but 7 were given

我在脚本中使用了多线程概念。但是我在 运行 脚本时遇到上述错误。我在 python 2.7 中使用了相同的代码,它工作正常,但在 python 3.6 中它给了我错误。你能帮我解决这个问题吗?

我正在使用的代码-

class ThreadWithReturnValue(Thread):
    def __init__(self, group=None, target=None, name=None,
                 args=(), kwargs={}, Verbose=None):
        Thread.__init__(self, group, target, name, args, kwargs, Verbose)
        self._return = None
    def run(self):
        if self._Thread__target is not None:
            self._return = self._Thread__target(*self._Thread__args,
                                                **self._Thread__kwargs)
    def join(self):
        Thread.join(self)
        return self._return

可能 python 3.6 中的语法不同,请帮我解决这个错误。

错误:

Traceback (most recent call last):
  File "/app/HTA/Scripts/Python/HTA_Consump_Layer_Procs.py", line 588, in <module>
    main()
  File "/app/HTA/Scripts/Python/HTA_Consump_Layer_Procs.py", line 585, in main
    parallel_Execution()
  File "/app/HTA/Scripts/Python/HTA_Consump_Layer_Procs.py", line 395, in parallel_Execution
    p2 = ThreadWithReturnValue(target = partial(parallel_temp2, unique_exec_seq, df ))
  File "/app/HTA/Scripts/Python/HTA_Consump_Layer_Procs.py", line 365, in __init__
    Thread.__init__(self, group, target, name, args, kwargs, Verbose)
TypeError: __init__() takes from 1 to 6 positional arguments but 7 were given

好吧,我在 Thread.__init__() 中尝试了忽略 Verbose 然后它对我来说工作正常。找到我的演示代码和输出。先前 Python<3 在线程中使用 Verbose 但在 3.x+ 之后 Verbose 被忽略。

from threading import Thread

def foo(bar):
    print('hello {0}'.format(bar))
    return "foo"

class ThreadWithReturnValue(Thread):
    def __init__(self, group=None, target=None, name=None, args=(), kwargs={}, Verbose=None):
        Thread.__init__(self, group, target, name, args, kwargs)
        self._return = None

    def run(self):
        if self._target is not None:
            self._return = self._target(*self._args, **self._kwargs)

    def join(self, *args):
        Thread.join(self, *args)
        return self._return


twrv = ThreadWithReturnValue(target=foo, args=('world!',))
twrv.start()
print(twrv.join())

# Output
# hello world!
# foo