On 6/3/05, Cedric BRINER <[EMAIL PROTECTED]> wrote:
hi,

How can I know if a script is launched interactively or not because I'd like to make a script verbose or not depending if it is executed as interactive or not.

eg.

If I invoke it in a shell.. then it can be verbose

If it is launched from a crontab.. then it is less verbose.

Ced.

If you want to know if your program has been launched from an interactive terminal or from a system background process like cron or init, then you look to see if stdin is a tty.  Unix is usually very careful about who has a "controlling tty" and who does not.  In Python, file objects have an isatty() method that will return True or False.

import sys
isinteractive = sys.stdin.isatty()
if isinteractive:
    ...
else:
    ...

How you make a program this way manually (i.e. to make a program into cron) is slightly more complicated, but still all the tools are there in Python.

  -Arcege
--
There's so many different worlds,
So many different suns.
And we have just one world,
But we live in different ones.
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to