Запуск двух скриптов Python последовательно - PullRequest
0 голосов
/ 08 июня 2018

У меня есть два сценария для сонливости и обнаружения алкоголя, codefinal.py и example.py

Я хочу запустить эти 2 .py файла на терминалев Raspberry Pi 3. Однако, для моего кода обнаружения сонливости codefinal.py, мне нужно вручную войти в среду cv с помощью workon cv командной строки.

Как мне получить эти 2 кода длязапустить последовательно, сначала example.py, а затем codefinal.py, не вводя рабочую командную строку?

1 Ответ

0 голосов
/ 08 июня 2018

Я бы так сделал, без гарантии, что это лучший способ, но если вы хотите разделить оба сценария:

Создайте третий сценарий:

from subprocess import Popen, PIPE

def sequential_main():
    process = Popen("cmd.exe", shell=False, universal_newlines=True, stdin=PIPE, stdout=PIPE, stderr=PIPE)
    commands = '''
    python example.py
    python codefinal.py *ARG* *ARG*\n
    '''
    out, err = process.communicate(commands)

if __name__ == "__main__":
    sequential_main():

IЯ использую cmd.exe для последовательного выполнения скриптов, у вас может быть другой путь на терминале Raspberry Pi 3.Обратите внимание, что при вызове скрипта на терминале вы можете добавить аргументы к вашему вызову скрипта, к которым вы можете получить доступ в codefinal.py как argv [1], argv [2] ... Используйте столько, сколько вам нужно дляваши ручные входы.Если вам нужно вручную ввести их в ваш новый скрипт, просто вызовите функцию input() и сохраните ваши входные данные как string: Input1 , Input2 , ... и используйте это:

commands = '''
        python example.py
        python codefinal.py {} {}\n
        '''.format(Input1, Input2)
...