从Python重启本地计算机

5 投票
4 回答
38063 浏览
提问于 2025-04-16 09:35

有没有办法让电脑在重启后自动运行一个Python程序?通用的解决方案都可以,但我特别想知道在Windows系统上怎么做。

4 个回答

9

你可以通过以下命令重启一个Windows系统: os.system("shutdown -t 0 -r -f")

举个例子:

import os
print("REBOOTING")
os.system("shutdown -t 0 -r -f")

你可以把“-t”前面的数字改成其他数字,这样就可以设置在关机前等待的秒数。

9

你为什么不直接用子进程调用一下 shutdown 命令呢?

13

据我所知,没有通用的方法来做到这一点。

在Windows系统上,你需要使用Win32 API。可以这样做:

  import win32api
  win32api.InitiateSystemShutdown()

win32api模块是pywin32的一部分。

对于Linux或Mac系统,我想调用“reboot”命令是最简单的。

import os
os.system('reboot now')

或者类似的命令。

(给那些投反对票的人说明一下:os.system()并没有被淘汰。文本中提到的是“subprocess模块提供了更强大的功能来创建新进程并获取它们的结果;使用这个模块比使用这个函数更好。”对于像这样的简单情况,如果你不需要获取结果,也不需要多进程,os.system()完全可以正常工作。)

撰写回答