Mat*_*kin 5

我使用了以下内容:

>>> import platform
>>> platform.uname()
('Darwin', 'Matthew-Rankins-MacBook-Pro.local', '10.8.0', 
'Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; 
root:xnu-1504.15.3~1/RELEASE_X86_64', 'x86_64', 'i386')
>>> 
Run Code Online (Sandbox Code Playgroud)

Python平台文档:

platform.uname()

相当便携的uname界面.返回标识底层平台的字符串元组(系统,节点,发行版,版本,机器,处理器).

请注意,与os.uname()函数不同,这也会将可能的处理器信息作为附加元组条目返回.

无法确定的条目设置为''.

  • 在 macOS 上,如果调用它的进程通过 Rosetta 运行,即使在 ARM 上, uname `machine` 和 `processor` 也将返回 x86。您需要 uname 元组的“version”部分(或者只调用“platform.version()”)。在 Intel 上,您应该看到“RELEASE_X86_64”,在 Apple Silicon 上,您应该类似于@user1766438 发布的内容 -“RELEASE_ARM64”。platform.uname().version 中的“ARM”或类似内容应作为 macOS 上的 Python 架构检查。否则,子处理“sysctl machdep.cpu.brand_string”可能是您的下一个最佳选择。 (5认同)

Rus*_*ove 5

>>> import platform
>>> platform.system()
'Darwin'
>>> platform.processor()
'i386'
>>> platform.platform()
'Darwin-10.8.0-i386-64bit'
>>> platform.machine()
'i386'
>>> platform.version()
'Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386'
>>> platform.uname()
('Darwin', 'Hostname.local', '10.8.0', 'Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386', 'i386', 'i386')
Run Code Online (Sandbox Code Playgroud)