Python :subprocess.call сломанный канал

Я пытаюсь вызвать сценарий оболочки на питоне, но он продолжает сообщать об ошибке разрыва канала (результат в порядке, но я не хочу видеть сообщение об ошибке в STDERR ). Я точно определил причину, и ее можно воспроизвести в виде следующего фрагмента:

subprocess.call('cat /dev/zero | head -c 10 | base64', shell=True)

AAAAAAAAAAAAAA==

cat :ошибка записи :Broken pipe

/dev/zero— бесконечный поток, но head -c 10только читает 10 байт от него и выход, то cat получит SIGPIPE, потому что пир закрыл канал. Когда я запускаю команду в оболочке, нет сообщения об ошибке сломанной трубы, но почему python показывает это?

8
задан Dagang 7 May 2012 в 09:40
поделиться