热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python的“platform.mac_ver()”报告不正确的MacOS版本

我正在使用 Pythonplatform模块来识别 MacOS 版本,如下所示:import platformprint(platform.mac_ver())import In [1]: impor

我正在使用 Pythonplatform模块来识别 MacOS 版本,如下所示:

import platform
print(platform.mac_ver())

import

In [1]: import platform
In [2]: platform.mac_ver()
Out[2]: ('10.16', ('', '', ''), 'x86_64')

In [1]: import platform
In [2]: platform.mac_ver()
Out[2]: ('10.16', ('', '', ''), 'x86_64')

输出:

我已经更新到BigSur,版本不对,应该是11.0.1

我查看了平台的源代码,它似乎解析了一个这个文件/System/Library/CoreServices/SystemVersion.plist来获取信息。从 Python 读取此文件时,我得到了一个不正确的版本,但从 bash 中它是正确的

重击:

Python:

我错过了什么?

这是同一ipython会话的输出

回答


Amirs-MacBook-Pro:~ arossert$ cat /System/Library/CoreServices/SystemVersion.plist




ProductBuildVersion
20B50
ProductCopyright
1983-2020 Apple Inc.
ProductName
macOS
ProductUserVisibleVersion
11.0.1
ProductVersion
11.0.1
iOSSupportVersion
14.2


>在 Big Sur 发行说明的已知问题部分,存在以下内容:

由于 macOS 版本从 10.x 更改为 11,某些第三方脚本可能会产生意外结果。 (62477208)

解决方法:在调用环境中设置SYSTEM_VERSION_COMPAT=1,例如:$SYSTEM_VERSION_COMPAT=1 legacy_script.pl

在https://eclecticlight.co/2020/08/13/macos-version-numbering-isnt-so-simple/ 上还有一个相当广泛的 3rd-party 文章


为 Big Sur 编译的应用程序返回“11.0”作为操作系统版本。

为早期版本编译的应用程序获得“10.16”。这是假设 10 作为前缀不会中断的逻辑。

环境变量SYSTEM_VERSION_COMPAT可用于控制返回的文件版本;SYSTEM_VERSION_COMPAT=0 cat /System/Library/CoreServices/SystemVersion.plist返回11.0.1,而SYSTEM_VERSION_COMPAT=1 cat /System/Library/CoreServices/SystemVersion.plist返回10.16。(请注意,赋值和调用之间应该有一个空格,而不是换行符,cat这样 shell 会将其视为临时环境变量赋值,而不是非导出 shell 变量的赋值)。






推荐阅读
  • 目的是:判断这个服务是否被创建,换句话说看病毒是否在系统内存在3.如果这个服务不存在,病毒执行405A25,打开服务管理器。目的是实现自身的隐藏接着调用CreateService来 ... [详细]
  • Android多线程之进程与线程
    前言对于Android程序中,使用多线程的技术是必不可少的,就拿之前最简单的例子来说明,对于Android4.0+的应用而言,访问网络必须另起线程才可以访问。本片博客介绍Andr ... [详细]
  • Windows环境C:\systeminfo|findOSOS名称:MicrosoftWindows7专业版OS版本:6.1.7601ServicePack1Build760 ... [详细]
  • javascript怎么获取元素滚动后的可见高度!http:v2.freep.cn3tb_131009110450qew1512293.png图片传不了,这么上传后的图片链接! ... [详细]
  • Springboot @RequestBody注解踩坑记录
    这篇文章主要介绍了Springboot @RequestBody注解踩坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完 ... [详细]
  • OpenSesame:一个能够攻击fixed-pin设备的工具
    OpenSesame是一种设备,这种设备可以通过无线技术来打开任何一个设有固定密码的车库门,我从中发现了一个攻击无线固定pin码设备的新方法。演示视频以及详细信息:opensesame ... [详细]
  • pwa之service worker 离线文件处置惩罚
    pwa-之serviceworker基本概念pwa-之serviceworker离线文件处置惩罚本章包括以下知识点显现离线页面加载离线图片加载离线css多个fetch处置惩罚事宜挪 ... [详细]
  • 中文分词之最大匹配
    转载:http:apps.hi.baidu.comsharedetail15014495中文分词在中文信息处理中是最最基础的,无论机器翻译亦或信息检索还 ... [详细]
  • Apache Kafka系列(四) 多线程Consumer方案 ... [详细]
  • FM:代谢无机硫化合物的古菌Ferroplasma可介导细胞外电子传递
    文章目录新观点:代谢无机硫化合物的古菌*Ferroplasma*可介导细胞外电子传递导读摘要背景1方法1.1提取DNA、RNA和高通量测序1.2宏基因组数据的生物信息 ... [详细]
  • 整理了下关于php的基础知识,参考了些资料,如下:超全局变量超全局变量—超全局变量是在全部作用域中始终可用的内置变量:$GL ... [详细]
  • 高可用集群中fence的配置
    本文讲的是如何在高可用 ... [详细]
  • 基于Doc2vec的段落向量训练及文本相似度计算
    Doc2vec段落向量的训练方法,与训练词向量类似,段落向量的训练分为训练数据预处理和段落向量训练两个步骤。这里采用的是网上爬取的问答对中的query作 ... [详细]
  • WebClientUI我們在WebClientUI的開發工具里點了Test按鈕,會在瀏覽器以測試形式翻開選中的view。這背地發生了什麼事?注重瀏覽器地址欄的bspwd_cmp_t ... [详细]
  • 六、负载均衡
    简介负载均衡分为链路负载和应用负载。最早的时候只有链路负载。它是建立在现有网络结构之上,提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提 ... [详细]
author-avatar
sanyyy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有