python获取Linux发行版名称
我必须从Python脚本中获取Linux发行版名称。dist平台模块中有一个方法:
import platform platform.dist()
但在我的Arch Linux下它返回:
>>> platform.dist() ('', '', '')
为什么?我怎么能得到这个名字?
PS。我必须检查分发是否是基于Debian的。
更新:我在这里找到了Python站点,自2.6以来,dist()已被弃用。
>>> platform.linux_distribution() ('', '', '')
解决方案
这对我在Ubuntu上有用:
('Ubuntu', '10.04', 'lucid')
然后我常常strace找出平台模块正在做什么来查找分布,这是这部分:
open("/etc/lsb-release", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=102, ...}) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=102, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76b1000 read(3, "DISTRIB_ID=Ubuntu\nDISTRIB_RELEAS"..., 8192) = 102 read(3, "", 4096) = 0 read(3, "", 8192) = 0 close(3) = 0
所以,/etc/lsb-release
包含这些信息,来自Ubuntu的Debian基础文件包。
总结
以上所述是小编给大家介绍的python获取Linux发行版名称,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
Linux下安装Python3.6及避坑指南
Python3的安装 1.安装依赖环境 Python3在安装的过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要将这些依赖库先行安装好. yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 2. 下载Python3源代码 下载Python3的
-
python同步windows和linux文件
写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,然后再利用网络copy,重复性很大,就想着能不能写一个小脚本帮我同步 逻辑:比对本地和服务器文件的md5,如果md5不一致,则备份服务器上的文件,将本地的给上传上去 代码分为windows端和服务器端,有些东西,都让python一个做了,写着有点累,就想着,能否服务端提供一个端口,windows去调用这个接口,来完成一部分工作 python代码如下: 需要额外安装的包为是paramiko,安装方
-
Linux部署python爬虫脚本,并设置定时任务的方法
去年因项目需要,用python写了个爬虫.因爬到的数据需要存到生产环境的PG数据库.所以需要将脚本部署到CentOS服务器,并设置定时任务,自动启动脚本. 实施步骤如下: 1.安装pip(操作系统自带了python2.6可以直接用,但是没有pip) # 下载pip安装包 wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --
-
python获取Linux发行版名称
我必须从Python脚本中获取Linux发行版名称.dist平台模块中有一个方法: import platform platform.dist() 但在我的Arch Linux下它返回: >>> platform.dist() ('', '', '') 为什么?我怎么能得到这个名字? PS.我必须检查分发是否是基于Debian的. 更新:我在这里找到了Python站点,自2.6以来,dist()已被弃用. >>> platform.linux_distribution(
-
2016年如何选择Linux发行版
不管是在企业级应用还是在消费者领域,2015 对于 Linux 来说都是极其重要的一年.作为一个从 2005 年就开始使用 Linux 的老用户,我有幸见证了 Linux 过去这 10 年里的重大发展,并且,我相信它在 2016 年里会更加令人激动.在这篇文章里,我会挑选几个将在 2016 年里大放光彩的最佳发行版给大家介绍一下. 强势归来的发行版:openSUSE SUSE 是 openSUSE 发行版背后的公司,同时也是起步最早的 Linux 公司:它在 Linus Torvalds 发布
-
Linux 发行版和安装的基本知识
一.Linux发行版的基本知识 虽然Linux的基础是其内核(kernel),但是光有内核还远不是一个完整可用的操作系统环境.这里我们要讲述一些关于Linux发行版的基本要素. Boot manager :boot manager是存在在硬盘主引导记录(aster boot record ,MBR)中的程序,该程序由计算机的BIOS调入执行,完成启动工作.如果你在一个已经安装了Windows或其它系统的机器上安装Linux,boot manager将让你选择启动哪个操作系统.boot manag
-
常用Linux发行版镜像源配置小结
最近研究Linux,试了一些Linux发行版,但是大多数发行版的软件源速度都不是很理想.所以我这里干脆做了一个收集,把我用过的一些常用发行版的软件源设置方法做个总结,大家也可以做个参考. Ubuntu 18.04 18.04是目前Ubuntu最新的长期支持版.当然我非常期待4月份推出的20.04长期支持版,支持wireguard这一点就非常吸引人. # 备份官方镜像 cp /etc/apt/sources.list /etc/apt/sources.list.backup # 使用清华镜像源 t
-
python获取linux系统信息的三种示例
方法一:psutil模块 #!usr/bin/env python # -*- coding: utf-8 -*- import socket import psutil class NodeResource(object): def get_host_info(self): host_name = socket.gethostname() return {'host_name':host_name} def get_cpu_state(self): cpu_count = psutil.cpu
-
python获取linux和windows系统指定接口的IP地址的步骤及代码
实验目的: 用户输入网卡名称,通过函数返回对应的IPv4和IPv6地址. 实验代码: 步骤一: 由于window系统下网卡名称并不是真正的名字,而真正的ID在注册表SYSTEM\CurrentControlSet\Control\Network{4d36e972-e325-11ce-bfc1-08002be10318}目录下.所以需要通过如下代码,返回接口名称和唯一ID的对应关系. win_ifname.py: import netifaces as ni # import winreg as
-
python获取linux系统信息的三种方法
方法一:psutil模块 #!usr/bin/env python # -*- coding: utf-8 -*- import socket import psutil class NodeResource(object): def get_host_info(self): host_name = socket.gethostname() return {'host_name':host_name} def get_cpu_state(self): cpu_count = psutil.cpu
-
python获取Linux下文件版本信息、公司名和产品名的方法
本文实例讲述了python获取Linux下文件版本信息.公司名和产品名的方法,分享给大家供大家参考.具体如下: 区别于前文所述.本例是在linux下得到文件版本信息,主要是通过pefile模块解析文件 中的字符串得到的.代码如下: def _get_company_and_product(self, file_path): """ Read all properties of the given file return them as a dictionary. @retur
-
python获取当前运行函数名称的方法实例代码
python获取当前运行函数名称的方法实例代码 摘要: c/c++中获取函数所在源码名,函数名和行号的方法很简单 __FILE__,__FUNCTION__和__LINE__ python没有这种语法,但也可以通过某种方法得到,这里给出例子,使用异常信息得到[可能会损失性能] 直接贴代码[可参考python核心编程4.4] #获取调用该函数所在(被调用)的函数名 #author:peterguo@vip.qq.com def get_func_name(): import sys try: ra
-
Python获取linux主机ip的简单实现方法
本文实例讲述了Python获取linux主机ip的简单实现方法.分享给大家供大家参考,具体如下: python有好几种方法可以获取主机的ip地址.我常用的一种是通过socket.socket().inet_ntoa()来实现,非常方便:但这种方法有个限制就是要把网卡名(比如eth0)作为参数传进来.所以加多了一个条件判断,如果发现以上方法获取ip抛异常时,那就用调起shell命令(ifconfig)和管道,把想要的ip给过滤出来. import socket import fcntl impor
随机推荐
- 浅析AngularJs HTTP响应拦截器
- PHP简单实现二维数组赋值与遍历功能示例
- C# WinForm程序处理后台繁忙导致前台控件假死现象解决方法
- dataGrid 多维表头、表头跨行跨列设计及绑定数据
- 基于ajax实现文件上传并显示进度条
- 谈谈JavaScript数组常用方法总结
- php将图片保存入mysql数据库失败的解决方法
- 微信公众号实现会员卡领取功能
- 可以在线执行PHP代码包装修正版
- 提高ASP效率的五大技巧
- ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页
- 详解Hibernate cascade级联属性的CascadeType的用法
- C# 格式化字符首字母大写的方法
- C# Dynamic关键字之:解析dynamic就是Object
- C++ 基数排序的实现实例代码
- android实现ViewPager的Indicator的实例代码
- Nginx中的Gzip压缩配置介绍
- 浅析java中遍历map的两种方式
- Android嵌套滑动冲突的解决方法
- js鼠标、键盘事件实例代码