Обращение к терминалу в отдельном процессе

# script.py
import os
for x in range(1, 1001):
   os.mkdir(f'{x}')


# main.py
import os
os.system('python script.py')
print('Start!')

Здравствуйте, проблема в том что когда скрипт запускается через модуль оs, сначалa выполняется скрипт, а потом пишется Start!, мне необходимо запустить script.py в отдельном процессе, что бы скрипт выполнялся одновременно с print('Start!')


Ответы (1 шт):

Автор решения: CrazyElf

Можно через subprocess, например:

from subprocess import Popen,PIPE

with Popen(["/bin/ls","-la"], stdout=PIPE) as proc:
    print('Start!')
    print(proc.stdout.read().decode('cp866'))

Вывод:

Start!
total 16
drwxr-xr-x 1 root root 4096 Sep  1 19:26 .
drwxr-xr-x 1 root root 4096 Sep  7 10:24 ..
drwxr-xr-x 4 root root 4096 Sep  1 19:26 .config
drwxr-xr-x 1 root root 4096 Sep  1 19:26 sample_data
→ Ссылка