要获取系统开机时长并将其转换为天、小时、分钟、秒的格式,同时确保兼容Linux、Windows和macOS,你可以使用Python的psutil库。这个库可以提供跨平台的系统和进程管理功能。

首先,确保你已经安装了psutil库。如果没有安装,可以通过运行pip install psutil来安装。

接着,使用以下代码:

import psutil
import time

def get_uptime():
    # 获取开机时长,单位为秒
    uptime_seconds = time.time() - psutil.boot_time()
    return uptime_seconds

def convert_seconds(uptime_seconds):
    # 将秒转换为天、小时、分钟和秒
    m, s = divmod(uptime_seconds, 60)
    h, m = divmod(m, 60)
    d, h = divmod(h, 24)
    return int(d), int(h), int(m), int(s)

# 获取开机时长
uptime_seconds = get_uptime()

# 转换时间格式
uptime_days, uptime_hours, uptime_minutes, uptime_seconds = convert_seconds(uptime_seconds)

# 打印开机时长的天、小时、分钟和秒
print("系统已运行: {} 天 {} 小时 {} 分钟 {} 秒".format(uptime_days, uptime_hours, uptime_minutes, uptime_seconds))

这个方法使用psutil.boot_time()来获取系统的启动时间戳,并通过当前的时间戳减去启动时间戳来计算开机时长,支持Linux、Windows和macOS系统。然后将时长转换为天、小时、分钟和秒的格式。