守护进程目标函数不存在';在Python中不接受字符串参数
免责声明,我是python新手 我想在Python中测试线程,特别是守护进程,我编写了一个简单的应用程序,它每x秒调用守护进程中的一个端点。但是,当我将守护进程目标函数不存在';在Python中不接受字符串参数,python,multithreading,daemon,Python,Multithreading,Daemon,免责声明,我是python新手 我想在Python中测试线程,特别是守护进程,我编写了一个简单的应用程序,它每x秒调用守护进程中的一个端点。但是,当我将字符串传递给目标函数时,该值为空: 创建守护进程: daemon = threading.Thread(target=thread_function, args=(url,), daemon=True) daemon.start() 目标函数: def thread_function(url): print("Thread operat
字符串
传递给目标函数时,该值为空:
创建守护进程:
daemon = threading.Thread(target=thread_function, args=(url,), daemon=True)
daemon.start()
目标函数:
def thread_function(url):
print("Thread operates with url: ", url)
while True:
data = call_endpoint(url)
followers = parser(data)
print("The selected account has {} followers!".format(followers))
time.sleep(5)
预期结果:
线程使用url进行操作:
实际结果:
线程使用url进行操作:
这很奇怪,因为当我将int值1传递给目标函数输出时:
线程使用url:1进行操作
注意字符串url不是空的,我甚至尝试过:
daemon = threading.Thread(target=thread_function, args=("Hello",), daemon=True)
输出:
线程使用url进行操作:
您使用的是什么python版本?我尝试了你的代码(只有打印的thread_函数),它工作正常。你的主线程可能在启动线程后立即退出,因为没有剩余的事情要做,它不会等待守护进程线程完成。Python的线程“守护进程”不是Unix守护进程,它只是一个在主线程关闭时不会加入的线程。@YohannaLisnichuk您可能使用IPython进行了测试,其中主线程始终保持活动状态。我使用的是Python 3,启动守护进程后没有执行,程序完成。我以为守护进程仍然在后台运行,也在程序完成后运行你是说没有另一个线程?当然,一点也不脏。