При запуске файла Python из командной строки вы используете python3 <file>, но VSCode Code Runner использует python3 -u <file> (по умолчанию), поэтому мне было интересно:
-u?"-u Полностью отключить буферизацию stdin, stdout и stderr. В системах, где это важно, также переводите stdin, stdout и stderr в двоичный режим. Обратите внимание, что в xreadlines(), readlines() и file- существует внутренняя буферизация. итераторы объектов ("для строки в sys.stdin"), на которые эта опция не влияет. Чтобы обойти это, вы захотите использовать "sys.stdin.readline()" внутри цикла "пока 1:".






Флаг -u, согласно инструкции Python --help:
force the binary I/O layers of stdout and stderr to be unbuffered; stdin is always buffered; text I/O layer will be line-buffered; also PYTHONUNBUFFERED=x
Это задокументировано здесь в документации Python.
Они известны как параметры командной строки. Есть ряд из них, о которых вы можете прочитать с помощью python3 --help.
python3 --helpи RTFM.