背景
我目前正在自学python,我认为如果有一个“控制中心”,我可以关闭、重新启动和注销我的计算机,这将是一个非常酷的项目。我还想使用子进程模块,因为我听说导入OS模块已经过时了。
电流码
def shutdown(self):
import subprocess
subprocess.call(["shutdown", "-f", "-s", "-t", "60"])
问题
我真正想问的是,是否有一种方式(使用子进程模块)注销和重新启动我的计算机?
技术规范
Python 2.7.3
Windows 7,32位
发布于 2013-02-08 01:25:34
重新启动:
shutdown /r
要注销:
shutdown /l
最后的代码块(根据请求):
注销:
def shutdown(self):
import subprocess
subprocess.call(["shutdown", "-f", "-s", "-t", "60"])
重新启动:
def shutdown(self):
import subprocess
subprocess.call(["shutdown", "-f", "-r", "-t", "60"])
发布于 2016-10-11 13:03:50
首先,你必须:
import subprocess
若要关闭Windows PC:
subprocess.call(["shutdown", "/s"])
重新启动windows PC
subprocess.call(["shutdown", "/r"])
要注销Windows PC:
subprocess.call(["shutdown", "/l "])
若要在900秒后关机,请执行以下操作:
subprocess.call(["shutdown", "/s", "/t", "900"])
要中止关闭,因为没有很好的理由使用python脚本关闭您的pc,您只是从堆栈溢出复制粘贴代码:
subprocess.call(["shutdown", "/a "])
我只在Python3.5中尝试了这些函数调用。首先,我不认为这一点在python2.7之后发生了变化,其次,现在是2016年,所以我想你已经问了这个问题了。
发布于 2013-02-08 01:34:52
如果您无法让shutdown
以某种方式工作,那么始终可以调用它从用户库中调用的函数。您可以通过ctypes
或win32api
这样做,但也可以这样做:
subprocess.call(['rundll32', 'user.exe,ExitWindowsExec')
或者您可以调用开始菜单使用的更高级别的shell函数:
subprocess.call(['rundll32', 'shell32.dll,SHExitWindowsEx 2')
(请参阅关于这些函数的MSDN文档。)
我觉得这可能是最糟糕的方法了。如果要运行命令,请运行shutdown
;如果要使用win32api
,则使用win32api
。但是,如果你有一个非常糟糕的系统,而shutdown /r
却不能工作,这是一个选择。
https://stackoverflow.com/questions/14764126
复制相似问题