AttributeError 模块 ‘os’ 没有属性 ‘uname’ [已解决]
AttributeError module ‘os’ has no attribute ‘uname’ [Solved]
uname()
当我们尝试在 Windows 机器上调用该函数时,会发生 AttributeError module ‘os’ has no attribute ‘uname’ 。
要解决错误,请使用platform.platform()
或platform.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'
该
platform.platform()
方法返回一个表示底层平台的字符串。该platform.uname()
方法是一个可移植的uname
接口。
该方法返回一个namedtuple
包含 6 个属性的:
system
– 返回系统 (OS) 名称,例如 Windows、Linux 等。node
– 返回计算机的网络名称。release
– 返回系统的版本。version
– 返回系统的发布版本。machine
– 返回机器类型,geAMD64
。processor
– 返回处理器名称。
请注意,方法processor
中不存在该属性os.uname()
。
结论
uname()
当我们尝试在 Windows 机器上调用该函数时,会发生 AttributeError module ‘os’ has no attribute ‘uname’ 。
要解决错误,请使用platform.platform()
或platform.uname()
方法。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: