Я не совсем понимаю, почему этот код не работает так как ожидалось:
import subprocess
p = subprocess.Popen(["python3", "file2.py"], stdout=subprocess.PIPE, bufsize=1, text=True)
with p.stdout:
for line in p.stdout:
print(line)
p.wait()
*в
file2.py
просто итерируется range и выводится в print()
Проблема в том, что я не могу получать вывод подпроцесса во время его исполнения - итерация p.stdout просто зависает пока не будет закончено выполнение подпроцесса.
Это происходит, если запускать код через терминал:
python3 file.py
. В PyCharm почему-то все работает нормально..