Как запустить другие строки во время работы еще одного длинного скрипта Python? - PullRequest
1 голос
/ 24 апреля 2019

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

Вот мой код:

from subprocess import Popen

p = Popen("python script.py")

print("Other stuff")

Дело в том, что без script.py сделано, я не могуполучить печатный текст.Как я могу решить это?

1 Ответ

0 голосов
/ 24 апреля 2019

Скорее всего, вы ищете многопроцессорный модуль. То, как вы будете запускать процессы и что они будут делать, на вашей стороне, в то время как модуль даст вам возможность запускать несколько процессов и собирать результаты выполнения каждого процесса вместе с выводом, если таковой имеется.

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

from multiprocessing import Pool
from subprocess import check_call

commands = [
    'echo {time}; sleep {time}; echo {time}'.format(time=5),
    'echo {time}; sleep {time}; echo {time}'.format(time=10),
    'echo {time}; sleep {time}; echo {time}'.format(time=4),
]


def sample(command):
    check_call(command, shell=True)


if __name__ == '__main__':
    with Pool(len(commands)) as p:
        p.map(sample, commands)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...