如何检查Python脚本是否以交互方式启动?

时间:2009-08-16 18:48:54

标签: python interactive

我希望我的脚本有2个行为,一个作为计划任务启动,另一个如果手动启动。我怎样才能测试互动性?

编辑:这可以是一个cron作业,也可以是一个Windows批处理文件,通过计划任务启动。

3 个答案:

答案 0 :(得分:11)

您只需在计划任务中添加命令行开关,并在脚本中检查它,并根据需要修改行为。明确比隐含更好。

此设计的一个好处是:无论您实际调用脚本的方式如何,您都可以测试这两种行为。

答案 1 :(得分:7)

如果你想知道你是否正在从终端阅读(不清楚这是否足够区别,请澄清)你可以使用

sys.stdin.isatty()

答案 2 :(得分:0)

当你用cron调用它时,我只需添加一个命令行开关:

python yourscript.py -scheduled

然后在你的程序中

import sys

if "-scheduled" in sys.argv:
    #--non-interactive code--
else: 
    #--interactive code--