【问题标题】:Get specific System Info using python使用 python 获取特定的系统信息
【发布时间】:2021-08-23 14:53:51
【问题描述】:

我必须得到如图所示的系统特定信息。我正在查看platform 模块,但我无法获得与所示完全相同的信息。

    “OS”: “Ubuntu 20.04",
    “Memory”: 232423423434,
    “system Time”: “15:02:13 +0530”,
    “Timezone”: “Asia/Kolkata”

Python 中的任何标准库都会给我指定的输出?

【问题讨论】:

  • 这个答案可能对stackoverflow.com/a/3103224/8636278有帮助
  • @Alex 谢谢,但它没有提到获取带有版本的操作系统(我的意思是指定 - 我想要 Ubuntu 等详细信息,而不是 Linux)并且本地时区的详细信息无法通过平台获得。
  • 系统特定信息,顾名思义,是系统特定的。这个问题是 GNU/Linux 特有的吗?
  • @MrFuppes 嗯,它是动态的。我应该提取部署应用程序的服务器系统信息。我使用了平台,但它给了我“Linux”。我不确定如何使用版本信息提取“Ubuntu”。

标签: python python-3.x operating-system timezone system-information


【解决方案1】:

这是跨平台的,与您所描述的内容接近(从各种来源收集):

from platform import uname
print(f"OS: {uname().system} {uname().release}, {uname().version}")

from psutil import virtual_memory # pip install psutil
print(f"Memory: {virtual_memory().total}")

from datetime import datetime
print(f"System Time: {datetime.now().astimezone().strftime('%H:%M:%S %z')}")

from tzlocal import get_localzone # pip install tzlocal
print(f"Timezone: {get_localzone()}")

示例输出

  • 在 GNU/Linux/Ubuntu 上:
OS: Linux 5.11.0-27-generic, #29~20.04.1-Ubuntu SMP Wed Aug 11 15:58:17 UTC 2021
Memory: 33314279424
System Time: 17:22:20 +0200
Timezone: Europe/Berlin
  • 我的 Windows 机器:
OS: Windows 10, 10.0.19041
Memory: 20796862464
System Time: 17:18:31 +0200
Timezone: Europe/Berlin
  • 在我的 WSL Ubuntu 上:
OS: Linux 5.10.16.3-microsoft-standard-WSL2, #1 SMP Fri Apr 2 22:23:49 UTC 2021
Memory: 16252194816
System Time: 17:20:07 +0200
Timezone: Europe/Berlin

【讨论】:

  • 太棒了..!谢谢..!我自己正在寻找提取操作系统信息的方法。我在 pythonv3.8.10 中遇到了“lsb_release”模块。 lsb_release.get_distro_information().get("DESCRIPTION", "") 正是我想要的。 (虽然在这种情况下不确定 Windows)
  • @SrTan 是的,肯定还有其他选择,特别是如果您不介意拥有特定于平台的东西。跨平台意味着更多的开销;两个第三方库 - 但是,它甚至可以在 Windows 上运行 ^^ 稍后我将在我的 Linux 机器上测试(并且可能会修改)。
猜你喜欢
  • 1970-01-01
  • 2011-03-07
  • 1970-01-01
  • 2018-06-07
  • 1970-01-01
  • 2010-11-09
  • 2012-05-07
  • 1970-01-01
  • 2017-01-22
相关资源
最近更新 更多