Запуск метода с аргументами ключевого слова в виде потока

#python #multithreading

#python #многопоточность

Вопрос:

Я хотел бы запустить этот метод как поток:

 server.run('0.0.0.0', threaded=True)
  

Вот как я это делаю без аргумента ключевого слова:

 start_new_thread(server.run, ('0.0.0.0', None, False))
  

Это мое уродливое решение:

 def startServer():
     server.run('0.0.0.0', threaded=True)

start_new_thread(startServer, ())
  

Можно ли это сделать в одной строке?

Комментарии:

1. Я отредактировал макет вашего кода, чтобы он соответствовал стандартам удобочитаемости в PEP 8 .

Ответ №1:

Если у start_new_thread него нет **kwargs аргумента, вы можете использовать:

 from functools import partial
start_new_thread(partial(server.run, "0.0.0.0", threaded=True))
  

Или просто:

 start_new_thread(server.run, ("0.0.0.0",), {"threaded": True})
  

Надеюсь, это поможет!

Комментарии:

1.Похоже, что start_new_thread имеет kwargs . Как я могу их использовать?