首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Linux中使用Python获得系统正常运行时间的最快方法

在Linux中使用Python获得系统正常运行时间的最快方法
EN

Stack Overflow用户
提问于 2017-02-27 01:00:40
回答 4查看 27.3K关注 0票数 22

我正在寻找一种从Python脚本读取系统正常运行时间的快速和轻量级的方法。有没有办法从sysinfo调用Python系统调用?

到目前为止,我已经找到了另外两种测量正常运行时间的方法,一种涉及运行外部进程,另一种涉及读取/proc中的文件。

代码语言:javascript
复制
import subprocess

def uptime1():
    raw = subprocess.check_output('uptime').decode("utf8").replace(',', '')
    days = int(raw.split()[2])
    if 'min' in raw:
        hours = 0
        minutes = int(raw[4])
    else:
        hours, minutes = map(int,raw.split()[4].split(':'))
    totalsecs = ((days * 24 + hours) * 60 + minutes) * 60
    return totalsecs

def uptime2():  
    with open('/proc/uptime', 'r') as f:
        uptime_seconds = float(f.readline().split()[0])
        return uptime_seconds

当比较速度时,第二种方法大约快50倍。尽管如此,直接调用系统调用应该更好一些。

代码语言:javascript
复制
>> import timeit
>> print(timeit.timeit('ut.uptime1()', setup="import uptimecalls as ut", number=1000))
1.7286969429987948
>> print(timeit.timeit('ut.uptime2()', setup="import uptimecalls as ut", number=1000))
0.03355383600865025
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42471475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档