如何用Python编写程序实现电脑关机控制?尝试方法报错求助
Python实现电脑关机控制的正确姿势
嘿,你的代码思路完全走偏啦!cmd.exe是二进制可执行文件,不是文本脚本,用utf-8编码去读取它肯定会报错,而且exec()是用来执行Python代码的,根本没法直接运行二进制内容,f.write()也不是这么用的。咱们换个简单直接的方式来实现关机控制,其实根本不用绕这么大弯子。
方法一:用os.system直接调用系统命令
你已经了解os.system,其实直接用它调用Windows自带的shutdown命令就够了,完全不需要操作cmd.exe文件:
- 立即关机:
import os # /s 代表关机操作,/t 0 表示立即执行 os.system('shutdown /s /t 0')
- 定时关机(比如30分钟后):
import os # 30分钟换算成1800秒 os.system('shutdown /s /t 1800')
- 取消已设置的关机任务:
import os os.system('shutdown /a')
- 打开远程关机界面(就是你想实现的
shutdown -i,Windows下参数是/i):
import os os.system('shutdown /i')
方法二:用subprocess模块(官方推荐)
subprocess是Python官方推荐替代os.system的模块,功能更强大,也更安全,适合复杂的系统命令调用:
- 立即关机示例:
import subprocess # 用列表形式传递命令参数,避免字符串解析问题 subprocess.run(['shutdown', '/s', '/t', '0'], check=True)
- 取消关机示例:
import subprocess subprocess.run(['shutdown', '/a'], check=True)
小补充
- Windows的
shutdown命令还有很多实用参数:比如/r是重启,/h是休眠,你可以在命令提示符里输入shutdown /?查看完整的参数说明。 - 注意:执行关机、重启这类系统级操作,需要你的Python脚本拥有管理员权限,否则可能会执行失败哦。
内容的提问来源于stack exchange,提问作者Chinese Taipei
相关产品推荐
相关产品推荐

