【问题标题】:How do I sleep my computer from within python?如何从 python 中睡眠我的计算机?
【发布时间】:2019-12-18 16:31:02
【问题描述】:

我使用的是 Mac,我希望能够通过 python 脚本使我的计算机进入睡眠状态。我可以用这个命令在 bash 中做到这一点:

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

我阅读了this 帖子上的说明并按照说明进行操作,但遇到了以下错误。

import subprocess    
subprocess.Popen("/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend")

FileNotFoundError: [Errno 2] 没有这样的文件或目录: '/系统/库/CoreServices/菜单\ Extras/User.menu/Contents/Resources/CGSession -suspend': '/系统/库/CoreServices/菜单\ Extras/User.menu/Contents/Resources/CGSession -suspend'

【问题讨论】:

  • 你尝试了什么代码?问题可能是额外的 `\' 以及您将“-suspend”参数作为可执行文件名传递的事实
  • 我现在添加它

标签: python python-3.x macos


【解决方案1】:

试试:

import subprocess    
subprocess.run(["/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession",
                "-suspend"])

您必须提供一个没有 shell 要求的转义的现有路径(因此“Menu\ Extras”->“Menu Extras”)作为第一个参数,并单独传递其他参数。

【讨论】:

  • 对于更复杂的命令,shlex 很好。 subprocess.run(shlex.split("/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession -suspend"))
猜你喜欢
  • 1970-01-01
  • 2014-05-15
  • 2013-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多