Я пытаюсь вызвать процесс в файле после того, как часть его была прочитана. Например:
with open('in.txt', 'r') as a, open('out.txt', 'w') as b:
header = a.readline()
subprocess.call(['sort'], stdin=a, stdout=b)
Это отлично работает, если я не читаю ничего из файла перед выполнением subprocess.call, но если я что-нибудь прочитаю от него, подпроцесс ничего не увидит. Это использует python 2.7.3. Я не могу найти ничего в документации, объясняющей это поведение, и (очень) краткий взгляд на источник подпроцесса не выявил причины.