Python报错:TypeError: run() missing 1 required positional argument: 'result' 解决方法
Python报错:TypeError: run() missing 1 required positional argument: 'result' 解决方法
在使用Python进行多线程编程时,你可能会遇到如下错误信息:
Traceback (most recent call last):
File 'D:\desktop\python37\lib\threading.py', line 926, in _bootstrap_inner
self.run()
File 'D:\1483667886\test_selenium\ui_web_auto_lt\common\my_common\MyThread.py', line 29, in run
self.result = self.func(*self.args)
TypeError: run() missing 1 required positional argument: 'result'
错误分析
这个错误提示 'TypeError: run() missing 1 required positional argument: 'result'' 意味着在你的代码中,某个函数调用缺少了一个必要的参数 'result'。
具体来说,错误出现在你自定义的线程类 MyThread.py 文件的第29行。这一行代码 self.result = self.func(*self.args) 试图将函数 self.func 的返回值赋给 self.result。
问题根源
问题在于,你调用的函数 self.func 定义了一个名为 'result' 的参数,但是你在调用它的时候并没有传递这个参数。
解决方法
- 检查函数定义: 仔细检查
self.func函数的定义,确认它是否确实需要一个名为 'result' 的参数。 - 传递缺失参数: 在调用
self.func函数时,确保传递了 'result' 参数。你可以根据实际情况传递一个合适的值,或者创建一个变量来接收函数的返回值。
示例
假设你的 self.func 函数定义如下:
def my_func(result, *args):
# 函数逻辑
return result
那么在调用它的时候,你需要这样传递 'result' 参数:
self.result = self.func(some_value, *self.args) # 将 some_value 传递给 result 参数
通过以上步骤,你应该能够解决 'TypeError: run() missing 1 required positional argument: 'result'' 错误,并成功运行你的多线程程序。
原文地址: https://www.cveoy.top/t/topic/jr9h 著作权归作者所有。请勿转载和采集!