Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中线程时的断言错误_Python_Multithreading - Fatal编程技术网

Python中线程时的断言错误

Python中线程时的断言错误,python,multithreading,Python,Multithreading,我正在尝试使用以下方法在Python中运行一些简单的线程: t1 = threading.Thread(analysis("samplequery")) t1.start() other code runs in here t1.join() 不幸的是,我得到了一个错误: “AssertionError:组参数目前必须为none” 我以前从未在Python中实现过线程,所以我有点不确定到底出了什么问题。有人知道问题出在哪里吗 我不确定它是否相关,但分析是从另一个文件导入的方法 我还有一个后

我正在尝试使用以下方法在Python中运行一些简单的线程:

t1 = threading.Thread(analysis("samplequery"))
t1.start()

other code runs in here

t1.join()
不幸的是,我得到了一个错误:

“AssertionError:组参数目前必须为none”

我以前从未在Python中实现过线程,所以我有点不确定到底出了什么问题。有人知道问题出在哪里吗

我不确定它是否相关,但分析是从另一个文件导入的方法

我还有一个后续问题。分析返回一个字典,我将如何分配它以在原始方法中使用


谢谢

您想指定
目标
关键字参数:

t1 = threading.Thread(target=analysis("samplequery"))
您可能打算将
analysis
作为运行目标,但是
'samplequery
在启动时作为参数:

Thread()
的第一个参数是
group
参数,它当前只接受
None
作为参数

从:

应始终使用关键字参数调用此构造函数。论点如下:

  • 组应为
    None
    ;保留供将来在实现
    ThreadGroup
    类时扩展
  • target是
    run()
    方法调用的可调用对象。默认为
    None
    ,表示不调用任何内容

您需要提供
target
属性:

t1 = threading.Thread(target = analysis, args = ('samplequery',))

这仍然会将
分析的结果
传递给线程构造函数,这是错误的,除非该函数返回一个可调用的。@g.d.d.c:是的,正在进行此操作。:-)没问题,只是确定一下。:)这似乎解决了问题,谢谢!但是,我仍然不完全确定如何访问字典?@Incredidave:您需要在线程(主线程和子线程)之间进行通信,可能需要使用队列;请参阅和所有优秀的线程和python教程。由于位置arg不能位于关键字arg之后,因此还必须提供
args
属性。
t1 = threading.Thread(target = analysis, args = ('samplequery',))