📜  在 python 中获取系统启动时间(1)

📅  最后修改于: 2023-12-03 15:07:47.153000             🧑  作者: Mango

在 Python 中获取系统启动时间

在 Python 中,可以轻松地获取系统的启动时间。本文将介绍两种方法来获取系统启动时间。

方法一:通过 proc 文件系统获取

Linux 系统上可以通过读取 /proc/uptime 文件来获取系统的运行时间,而 Windows 系统则需要读取注册表。以下是如何通过读取 /proc/uptime 文件获取 Linux 系统启动时间的示例代码:

def get_linux_boot_time():
    with open('/proc/uptime', 'r') as f:
        uptime_seconds = float(f.readline().split()[0])
        boot_time_seconds = time.time() - uptime_seconds
        boot_time = datetime.fromtimestamp(boot_time_seconds)
        return boot_time.strftime('%Y-%m-%d %H:%M:%S')

代码解释如下:

  1. 使用 open() 函数打开 /proc/uptime 文件。
  2. 从文件第一行读取系统的运行时间,并转换为浮点数类型。
  3. 计算系统启动时间,即当前时间减去运行时间。
  4. 将启动时间转换为 datetime 对象,并转换为字符串格式。
方法二:通过 WMI 获取

在 Windows 系统上,可以使用 wmi 库来读取注册表获取系统启动时间。以下是如何使用 wmi 库获取 Windows 系统启动时间的示例代码:

import wmi

def get_windows_boot_time():
    w = wmi.WMI()
    boot_time_ole = w.Win32_OperatingSystem()[0].LastBootUpTime
    boot_time = datetime.strptime(boot_time_ole.split('.')[0], '%Y%m%d%H%M%S')
    return boot_time.strftime('%Y-%m-%d %H:%M:%S')

代码解释如下:

  1. 导入 wmi 库。
  2. 创建 wmi.WMI() 对象。
  3. 通过 wmi.WMI().Win32_OperatingSystem() 获取系统信息,包括启动时间。
  4. 启动时间的格式为 YYYYMMDDHHMMSS.000000+XXX,需要将其转换为 datetime 对象。
  5. 将启动时间转换为字符串格式。
总结

本文介绍了两种在 Python 中获取系统启动时间的方法。在 Linux 系统上,可以通过读取 /proc/uptime 文件获取;在 Windows 系统上,可以使用 wmi 库读取注册表获得。