我有一个Python脚本,比如test.py
,它在每次执行时都与用户交互。在
测试.py
#!/usr/bin/env python3
def foo():
a = input()
print("Hello, {}".format(a))
if __name__ == '__main__':
foo()
我想每5分钟运行一次这个脚本。因此,我尝试将其添加到我的crontab
中,但似乎这不起作用,因为没有提示我输入一个输入。
我已经测试了我的crontab
,它工作得很好。在
我是否应该为此任务使用schedule
之类的库?
在这种情况下,最理想的方式是什么?
注意:我想要一个跨平台的解决方案,可以在MacOSX和GNU/Linux上运行。在
您可以尝试python模块pexpect(http://pexpect.sourceforge.net/doc/)——用法如下:
如果它是通过cron或schedule运行的,它将不会在您的终端上运行,它将作为后台进程运行。因此,它不能交互,也不会提示您。在
如果你只想延迟5分钟,你看过Linux的“sleep”命令还是使用python的时间。睡觉"? 通过这种方式,您可以保持终端的打开状态,并且只需每隔一段时间运行作业。在
为了简单起见:
在您的服务器上不可能让cron交互。在
断开应用程序的链接: 建立一个数据库(比如MySQL),有测试.py每隔5分钟通过cron运行一次,检查数据库中是否有新的条目:然后,有一个本地应用程序将用户提示信息保存到数据库中。在
相关问题 更多 >
编程相关推荐