





Версия Python выводится в stderr, а не stdout, что ваша команда записывает в файл. Чтобы написать содержимое stderr, вам нужно написать:python --version 2> old.txt
Любая причина, по которой он выводится в поток STDERR?
Не особенно, некоторые программы просто предпочитают использовать stderr для вывода метаинформации (а также обычных предупреждений и сообщений об ошибках).
Возможный дубликат Перенаправить стандартный вывод в файл в Python?, Как перенаправить stderr в Python?, Временно перенаправить stdout/stderr, Перенаправление stderr и stdout в Bash и т. д.