実行時に標準出力がパイプされているかどうか判断するにはisattyを使う - Qiita
これを Python でもやろうと思って調べたのでメモ。
isatty.py
import sys
print(sys.stdout.isatty())
実行するとこうなる
$ python isatty.py
True
$ python isatty.py | cat
False
補足
これでもいいっぽい
isatty.py
import os, sys
print(os.isatty(sys.stdout.fileno()))