背景
我目前在自学蟒蛇的过程中,我认为这将是一个非常酷的项目有一个排序的“控制中心”中,我可以关机,重启和注销我的电脑。 我也想用的子模块,因为我已经听说进口OS模块是过时的。
目前代码
def shutdown(self):
import subprocess
subprocess.call(["shutdown", "-f", "-s", "-t", "60"])
题
什么我真的问的是,有一种方法(使用子模块)来的注销和重新启动我的电脑?
技术规格
Python的2.7.3
Windows 7中,32位
重启:
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"])
首先,你必须:
import subprocess
要关闭您的Windows PC:
subprocess.call(["shutdown", "/s"])
要重新启动您的Windows PC
subprocess.call(["shutdown", "/r"])
要注销您的Windows PC:
subprocess.call(["shutdown", "/l "])
关机后900S您的Windows PC:
subprocess.call(["shutdown", "/r", "/s", "900"])
要中止关闭是因为没有充分的理由关闭了python脚本你的电脑,你只是复制粘贴代码计算器:
subprocess.call(["shutdown", "/a "])
我只试过在Python 3.5这些函数调用。 首先,我不认为这是由于Python 2.7,和第二这种情况已经改变:它是2016年,所以我想既然问这个问题你已经做了开关。
如果你不能shutdown
以某种方式工作,你永远可以把它调出用户库的功能。 你可以通过做这个ctypes
或win32api
,但你也可以只是这样做:
subprocess.call(['rundll32', 'user.exe,ExitWindowsExec')
或者你可以调用开始菜单使用更高级别的外壳功能:
subprocess.call(['rundll32', 'shell32.dll,SHExitWindowsEx 2')
(参见这些功能MSDN文档)。
我想这大概是这样做的最糟糕的方式。 如果你想运行一个命令,运行shutdown
; 如果你想使用的API,使用win32api
。 但是,如果你已经有了一个奇怪的拧动系统,其中shutdown /r
是行不通的,它是一个选项。
文章来源: How to make a python script which can logoff, shutdown, and restart a computer?