有没有办法阻止运行OS X的计算机从Python脚本中进入睡眠状态?
答案 0 :(得分:7)
您可以调用 caffeinate 命令。
subprocess.Popen('caffeinate')
这就是我使用它的方式:
import sys
import subprocess
if 'darwin' in sys.platform:
print('Running \'caffeinate\' on MacOSX to prevent the system from sleeping')
subprocess.Popen('caffeinate')
答案 1 :(得分:2)
从OS 10.6开始,您必须使用Cocoa中提供的IOPMAssertion函数系列。这很好地解释了there。
然后,您将不得不从Python调用它。我不确定Python中是否已经存在针对Cocoa的特定绑定,但您可以调用Objective-C函数。它的描述非常好here。
答案 2 :(得分:1)
现在,Anaconda附带了一个Python实用程序来引发所需的断言:https://github.com/minrk/appnope
答案 3 :(得分:0)
您还可以在外部终端窗口中运行caffeinate
并将其保持打开状态,以实现OP所需的功能。
打开终端
类型caffeinate
按Enter
完成此操作后,只要让终端保持运行状态,您的Mac就会保持清醒状态。
您可以最小化或隐藏它,直到使用键盘快捷键Ctrl + C中断命令,Mac才会进入睡眠状态。