mode = os.fstat(0).st_mode
if stat.S_ISFIFO(mode):
    print('stdin is piped')
elif stat.S_ISREG(mode):
    print('stdin is redirected')
else:
    pass
Как определить, перенаправляется ли sys.stdin из файла или из другого процесса?