У меня есть два файла Python, файл 1 и файл 2, которые делают две разные вещи.Я хочу запустить их вместе.Я использую VS2017
Псевдокод для файла 1:
Class A:
foo1():
.
.
foo2();
if variable<30;
#do this
else;
subprocess.Popen('py file2.py')
#rest of the code for foo2()
if __name__ == "__main__":
A.foo2();
В настоящее время, когда я использую этот формат, подпроцесс запускает файл 2 и запускает его, но остальной коддля foo2 () после того, как условие if-else выполняется только после завершения процесса (еще одно условие, которое я настроил внутри файла 2).
Я пытаюсь сделать так, чтобы файл 2 запускался в фоновом режиме после выполнения условия if-else и выдавал выходные данные в командном окне, а также запускал оставшуюся часть файла.1. Не приостанавливать запуск файла 1 до тех пор, пока файл2 не будет завершен.Если нет в подпроцессе, есть другой способ запустить оба файла одновременно, но контролировать вывод файла 2, передав значение «переменная».Я пытаюсь найти правильное решение.
Я новичок в Python.
РЕДАКТИРОВАТЬ 1:
Я использовал команду:
process = subprocess.Popen('py file2.py' ,shell=True,stdin=None, stdout=None, stderr=None, close_fds=True)
Даже если я использую process.kill (), подпроцесс все еще работает в фоновом режиме.Он не выйдет, даже если использовать диспетчер задач.
Я также хотел передать переменную во второй файл.Я смотрю на что-то вроде
variable = input("enter variable)
subprocess.Popen('py file2.py -a' + variable ,shell=True,stdin=None, stdout=None, stderr=None, close_fds=True)
Но, насколько я посмотрел, мне сказали, что я могу передавать строки только через подпроцесс.это правда?