У меня есть файл Python, как my_functions.py и в этом файле есть функция

def func(a,b):
      result = does_some_stuff(a,b)
      return result

Есть ли bash с одним строком, который бы открывал N сессий Python и запускал эту функцию с указанными аргументами a и b? Я думаю об использовании этого для параллельной обработки какого-то бедняка, так как в func есть некоторая случайность, все вызовы не будут делать одно и то же даже при одинаковых аргументах a и b.

1 ответ1

1

Во-первых, если bash должен запустить скрипт python с аргументами и выполнить функцию func, вам нужно добавить раздел __main__ в конце вашего файла .py, например:

if __name__ == "__main__":
    import sys
    func(sys.argv[1], sys.argv[2])

Вы можете распечатать результат func в stdout, использовать его как код завершения скрипта, ...

Затем скрипт bash может просто выполнить «python myfunc.py 12 42 &» для запуска функции. «&» означает, что программа работает в фоновом режиме.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .