您可以将单行作为 python 线程的目标执行吗?
Can you execute a single line as a target of a python Thread?
我有以下代码:
errorThread = Thread(
target=tkMessageBox.showerror("Error", b[-1][z:]),
args=())
errorThread.daemon = True
errorThread.start()
我知道我可以创建另一个函数并传递参数,但出于好奇,您可以执行一行 python 代码作为 Python 线程的目标吗?
您可以使用 lambda expression 作为您的目标。也就是说,毕竟,lambda 的用途是:创建单表达式可调用对象,而不必在函数定义上花费整行。
errorThread = Thread(target=lambda: tkMessageBox.showerror("Error", b[-1][z:]))
您可以在 args
关键字参数中传递这些参数。像这样:
errorThread = Thread(
target=tkMessageBox.showerror,
args=("Error", b[-1][z:]))
errorThread.daemon = True
errorThread.start()
我有以下代码:
errorThread = Thread(
target=tkMessageBox.showerror("Error", b[-1][z:]),
args=())
errorThread.daemon = True
errorThread.start()
我知道我可以创建另一个函数并传递参数,但出于好奇,您可以执行一行 python 代码作为 Python 线程的目标吗?
您可以使用 lambda expression 作为您的目标。也就是说,毕竟,lambda 的用途是:创建单表达式可调用对象,而不必在函数定义上花费整行。
errorThread = Thread(target=lambda: tkMessageBox.showerror("Error", b[-1][z:]))
您可以在 args
关键字参数中传递这些参数。像这样:
errorThread = Thread(
target=tkMessageBox.showerror,
args=("Error", b[-1][z:]))
errorThread.daemon = True
errorThread.start()