如何将Python获取的系统开机时间按日期、时间分列保存为CSV文件
代码问题梳理
- 存在冗余代码:导入的json模块、读取json文件的逻辑和当前需求无关,可直接删除
- 时间未做拆分:你将日期和时间格式化到了同一个字符串中,需要单独拆分出日期、时间两个独立字段
- CSV写入逻辑不完整:打开文件的模式有误(Python3中写入CSV不要使用
wb二进制模式),也没有写入表头和对应的时间数据
修复后可用代码
import psutil import datetime import csv # 获取开机时间戳并转换为datetime对象 boot_datetime = datetime.datetime.fromtimestamp(psutil.boot_time()) # 分别拆分出日期、时间字段 boot_date = boot_datetime.strftime("%Y-%m-%d") boot_time = boot_datetime.strftime("%H:%M:%S") # 写入CSV文件 with open("uptime.csv", "w", newline="", encoding="utf-8") as f: writer = csv.writer(f) # 写入表头 writer.writerow(["Date", "Time"]) # 写入开机时间数据 writer.writerow([boot_date, boot_time])
逻辑说明
- 移除了无意义的json相关代码,避免不必要的报错
- 先获取datetime格式的开机时间,再分别格式化得到日期、时间两个独立值,满足两列存储的需求
- 写入CSV时使用
w文本模式,指定newline=""避免Windows系统下出现多余空行,指定UTF-8编码避免内容乱码 - 完整写入表头和对应数据,运行后生成的
uptime.csv即可符合你的格式要求
内容的提问来源于stack exchange,提问作者Anish
相关产品推荐
相关产品推荐

