AttributeError 模块 ‘os’ 没有属性 ‘uname’ [已解决]

AttributeError 模块 ‘os’ 没有属性 ‘uname’ [已解决]

AttributeError module ‘os’ has no attribute ‘uname’ [Solved]

uname()当我们尝试在 Windows 机器上调用该函数时,会发生 AttributeError module ‘os’ has no attribute ‘uname’ 。

要解决错误,请使用platform.platform()platform.uname()
方法。

attributeerror 模块 os 没有属性 uname

Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'os' has no attribute 'uname'. Did you mean: 'name'?

正如文档所述,
os.uname仅在 Unix 上可用。

如果您需要也适用于 Windows 的替代方法,请使用
platform.platform

platform.uname
方法。

主程序
# ✅ running the methods on a Windows machine import platform result = platform.platform() # 👇️ "Windows-10-10.0.19044-SP0" print(result) # ---------------------------------- result = platform.uname() # 👇️ uname_result(system='Windows', node='bobbyhadz', release='10', version='10.0.19044', machine='AMD64') print(result) print(result.system) # 👉️ Windows print(result.release) # 👉️ 10 print(result.version) # 👉️ '10.0.19044' print(result.node) # 👉️ 'bobbyhadz' print(result.machine) # 👉️ 'AMD64' print(result.processor) # 👉️ 'Intel64 Family 6 Model 158 Stepping 10, GenuineIntel'

这是在 Linux 机器上运行代码示例的示例。

主程序
# ✅ running the methods on a Linux machine import platform result = platform.platform() # 👇️ "Linux-5.15.0-52-generic-x86_64-with-glibc2.35" print(result) # ---------------------------------- result = platform.uname() # 👇️ uname_result(system='Linux', node='borislav', release='5.15.0-52-generic', version='#58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022', machine='x86_64') print(result) print(result.system) # 👉️ Linux print(result.release) # 👉️ 5.15.0-52-generic print(result.version) # 👉️ '#58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022' print(result.node) # 👉️ 'borislav' print(result.machine) # 👉️ 'x86_64' print(result.processor) # 👉️ 'x86_64'

在 linux 上使用平台

platform.platform()方法返回一个表示底层平台的字符串。

platform.uname()方法是一个可移植的uname接口。

该方法返回一个namedtuple包含 6 个属性的:

  • system– 返回系统 (OS) 名称,例如 Windows、Linux 等。
  • node– 返回计算机的网络名称。
  • release– 返回系统的版本。
  • version– 返回系统的发布版本。
  • machine– 返回机器类型,ge AMD64
  • processor– 返回处理器名称。

请注意,方法processor中不存在该属性os.uname()

结论

uname()当我们尝试在 Windows 机器上调用该函数时,会发生 AttributeError module ‘os’ has no attribute ‘uname’ 。

要解决错误,请使用platform.platform()platform.uname()
方法。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: