如何使一个Python脚本,可以注销,关闭和重新启动计算机吗?(How to make a pyth

2019-07-19 14:29发布

背景

我目前在自学蟒蛇的过程中,我认为这将是一个非常酷的项目有一个排序的“控制中心”中,我可以关机,重启和注销我的电脑。 我也想用的子模块,因为我已经听说进口OS模块是过时的。

目前代码

def shutdown(self):
    import subprocess
    subprocess.call(["shutdown", "-f", "-s", "-t", "60"])

什么我真的问的是,有一种方法(使用子模块)来的注销和重新启动我的电脑?

技术规格

Python的2.7.3

Windows 7中,32位

Answer 1:

重启:

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"])


Answer 2:

首先,你必须:

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年,所以我想既然问这个问题你已经做了开关。



Answer 3:

如果你不能shutdown以某种方式工作,你永远可以把它调出用户库的功能。 你可以通过做这个ctypeswin32api ,但你也可以只是这样做:

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?