I'd like for a script of mine to have 2 behaviours, one when started as a scheduled task, and another if started manually. How could I test for interactiveness?
EDIT: this could either be a cron job, or started by a windows batch file, through the scheduled tasks.
You should simply add a command-line switch in the scheduled task, and check for it in your script, modifying the behavior as appropriate.  Explicit is better than implicit.
One benefit to this design: you'll be able to test both behaviors, regardless of how you actually invoked the script.
How can I check to see if a Python script was started interactively?