发行版-一个操作系统平台信息api

distro的Python项目详细描述


发行版-操作系统平台信息API

Build StatusBuild statusPyPI versionSupported Python VersionsRequirements StatusCode CoverageCode QualityIs WheelLatest Github ReleaseJoin the chat at https://gitter.im/nir0s/distro

distro提供有关 它运行的操作系统分布,如可靠的机器可读ID,或 版本信息。

它是python原始版本的推荐替代品 ^{} 函数(将在Python3.8中删除)。 它还提供了更多不一定是python绑定的功能, 就像命令行界面。

发行版目前支持基于linux和bsd的系统,但Windows and OS X support也在计划中。

对于python 2.6支持,请参见https://github.com/nir0s/distro/tree/python2.6-support

安装

从pypi安装最新版本:

pip install distro

最新开发版本的安装:

pip install https://github.com/nir0s/distro/archive/master.tar.gz

用法

$ distro
Name: Antergos Linux
Version: 2015.10 (ISO-Rolling)
Codename: ISO-Rolling

$ distro -j
{"codename": "ISO-Rolling",
    "id": "antergos",
    "like": "arch",
    "version": "16.9",
    "version_parts": {"build_number": "",
        "major": "16",
        "minor": "9"}}


$ python
>>> import distro
>>> distro.linux_distribution(full_distribution_name=False)('centos', '7.1.1503', 'Core')

文档

在前面提到的api之上,还有几个函数可用。完整描述 api,请参见latest API documentation

背景

因为Python3.5不赞成使用,所以有必要使用另一个实现。 这个函数,python 3.8将完全删除它。 它的前一个函数platform.dist已经被弃用,因为 Python2.6也将在Python3.8中删除。 尽管如此,仍有许多情况需要访问这些信息。 有关详细信息,请参见Python issue 1322 信息。

distro包实现了一种健壮且包含的方法来检索 有关基于新标准和旧方法的分发的信息, 即从这些数据源(从高优先级到低优先级):

  • 操作系统发布文件/etc/os-release(如果存在)。
  • lsb_release命令的输出(如果可用)。
  • 发行版发行文件(/etc/*(-|_)(release|version)),如果存在的话。
  • 基于bsd的发行版的uname命令。

python和发行版支持

distro在python 2.7、3.4+和pypypy上以及在 提供一个或多个数据源的任何分发 盖满。

这个包使用模拟a number of Linux distributions数据源的精确行为的测试数据进行测试。

测试

git clone git@github.com:nir0s/distro.git
cd distro
pip install tox
tox

贡献

总是欢迎拉取请求来处理特定的分发或只是 为了大家的欢乐。

有关贡献信息,请参见CONTRIBUTIONS

支持其他发行版和文件的参考实现 格式可在此处找到:

软件包管理器发行版

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的json IoT模块GET请求   在Java8中,如何使用lambda表达式中的条件?   Java 7中的io,如何通过一个实际示例演示文件之间的差异。存在和文件。不存在?   在Android Studio中使用Java从url获取JSON?   返回k个最小元素的java数组   java如何让我的安卓应用通过facebook登录并获得foursquare等好友列表   java如何在布局中以编程方式生成文本视图   在java中更改系统日期和时间的datetime代码段   java Hibernate和SQLite3,一对多关系映射   java Observable转换成kotlin问题   java在单独的线程中将VBO发送到GPU   属性文件中值的spring Java验证程序注释   java Spring启动:找不到javassist   java SimpleDataFormat时间解析   无法在linux上为Java程序正确设置PATH变量   将文件上载到FTP服务器时发生java异常   基于java TestNG的Selenium测试不能并行运行   java DAO类实例与DAO EJB   tomcat6部署*。使用Java Web Start(JNLP)的war应用程序