我有一个if循环,它调用一个线程并传递数组command
。看起来像这样:
from Threading import Thread
def myfunction(command):
print(command)
while True
command = input()
if command="1":
t = Thread(target=myfunction, args=(command, ))
t.start()
t.daemon()
但是,它告诉我我已经通过了bool并抛出错误
TypeError: 'bool' object is not callable
我也尝试过将command
作为字符串传递,但是出现相同的错误。
答案 0 :(得分:1)
此代码中的几个问题:
Threading
应该是threading
while True
应该是while True:
if command = "1"
(分配)应为if command == "1"
(比较)而且,问题中的错误原因:
Thread.daemon
不是函数。这是一个返回布尔值的属性,因此t.daemon()
导致了bool is not callable
错误。
我认为您打算将其设置为True
,并且必须在调用.start
之前完成:
t.daemon = True
t.start()
最好在初始化期间进行设置:
t = Thread(target=myfunction, args=(command, ), daemon=True)
答案 1 :(得分:-1)
您的条件实际上不是条件,而是一个使用=
运算符的赋值。它必须是一个相等性检查==
。
if command == "1":