Как вызвать функцию с аргументами ключевого слова с помощью функции процесса многопроцессорного модуля?

#python #multiprocessing #keyword-argument

#python #многопроцессорность #ключевое слово-аргумент

Вопрос:

Как вызвать эту функцию :

 git.Repo.clone_from(git_url, repo_dir, branch=master, progress=CustomProgress())
  

с помощью функции обработки многопроцессорного модуля?

Здесь я использую аргументы ключевого слова, поэтому я должен передать эту функцию процесса многопроцессорному модулю.Я хочу, чтобы меня вызывали как отдельный процесс, например

 P = multiprocessing.Process(target = git.Repo.clone_from, args = (git_url, repo_dir, branch=master, progress=CustomProgress())
  

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

1. одним из подходов было бы передать лямбда-выражение и кортеж в mulitprocessing.Process и присвоить элементы кортежа ключевым словам в лямбда-выражении.

Ответ №1:

Спасибо Сурадж. Приведенный выше код после небольшого изменения синтаксиса работает: P = многопроцессорность.Процесс(target = git.Repo.clone_from, args = (git_url, repo_dir), kwargs = {«branch»: «master», «progress»: CustomProgress()})

Ответ №2:

Сформируйте словарь с вашими аргументами ключевого слова и передайте его в качестве kwargs параметра объекту процесса.

 P = multiprocessing.Process(target = git.Repo.clone_from, args = (git_url, repo_dir), kwargs = {"branch" : "master", "progress" : CustomProgress()})
  

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

1. Спасибо Сурадж. Приведенный выше код после небольшого изменения синтаксиса работает: P = многопроцессорность. Процесс(target = git.Repo.clone_from, args = (git_url, repo_dir), kwargs = {«branch»: «master», «progress»: CustomProgress()})

2. Ах, опечатка, моя ошибка. Исправлен ответ для дальнейшего использования.