利用Python将Linux conf配置文件的内容解析成字典格式

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

Linux下许多配置文件除了ini格式的可以用python的ConfigParser模块外,可以自己编写一段简单的代码将只有“key=value”这样的conf配置文件解析成字典,利用字典的key可以轻松获取key对应的value。python实现起来方法比较简单,只要逐行读取配置文件,将每一个键值对写入字典即可。

python代码示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/python
# encoding: utf-8
# -*- coding: utf8 -*-
import  re
from  copy  import  deepcopy
 
try :
     linux_type_dict  =  dict ()
     with  open ( '/etc/os-release' 'r' ) as f:
         linux_type_list  =  f.read().strip().split( '\n' )
except  IOError:
     pass
else :
     if  linux_type_list  is  not  None :
         linux_type_list_to_purge  =  deepcopy(linux_type_list)
         # linux_type_list_to_purge = linux_type_list[:]  # another implement, sames to deepcopy
         for  member  in  linux_type_list_to_purge:
             if  re.search( '^#+.*' , member)  is  not  None :
                 member_to_purge  =  member
                 linux_type_list.remove(member_to_purge)
         for  member  in  linux_type_list:
             sub_member  =  member.split( '=' )
             linux_type_dict[sub_member[ 0 ]]  =  sub_member[ 1 ].strip( '"' )
         print  linux_type_dict
         print  linux_type_dict[ 'ID' ]

获取更多实用的bash shell或python shell,请查阅我的github项目https://github.com/DingGuodong/LinuxBashShellScriptForOps,里面包含了很多与运维相关的bash脚本和python脚本,此项目将持续更新!

tag:python parse linux config file,python解析配置文件,python list to dict

--end--





本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1811598,如需转载请自行联系原作者


相关文章
|
16天前
|
存储 Ubuntu Linux
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
在Linux中,如何查看当前主机的主机名,如何修改主机名?要想重启后依旧生效,需要修改哪个配置文件?
|
17天前
|
JSON 测试技术 API
Python开发解析Swagger文档小工具
文章介绍了如何使用Python开发一个解析Swagger文档的小工具,该工具可以生成符合httprunner测试框架的json/yaml测试用例,同时还能输出Excel文件,以方便测试人员根据不同需求使用。文章提供了详细的开发步骤、环境配置和使用示例,并鼓励读者为该开源项目贡献代码和建议。
21 1
Python开发解析Swagger文档小工具
|
16天前
|
测试技术 Python
python自动化测试中装饰器@ddt与@data源码深入解析
综上所述,使用 `@ddt`和 `@data`可以大大简化写作测试用例的过程,让我们能专注于测试逻辑的本身,而无需编写重复的测试方法。通过讲解了 `@ddt`和 `@data`源码的关键部分,我们可以更深入地理解其背后的工作原理。
16 1
|
18天前
|
网络协议 API 开发者
Python中的会话管理:requests.Session深度解析
Python中的会话管理:requests.Session深度解析
|
8天前
|
数据采集 存储 数据库
Python中实现简单爬虫与数据解析
【8月更文挑战第31天】在数字化时代的浪潮中,数据成为了新的石油。本文将带领读者通过Python编程语言,从零开始构建一个简单的网络爬虫,并展示如何对爬取的数据进行解析和处理。我们将一起探索请求网站、解析HTML以及存储数据的基础知识,让每个人都能成为自己数据故事的讲述者。
|
8天前
|
数据采集 JavaScript 前端开发
Python 爬虫实战:抓取和解析网页数据
【8月更文挑战第31天】本文将引导你通过Python编写一个简单的网络爬虫,从网页中抓取并解析数据。我们将使用requests库获取网页内容,然后利用BeautifulSoup进行解析。通过本教程,你不仅能够学习到如何自动化地从网站收集信息,还能理解数据处理的基本概念。无论你是编程新手还是希望扩展你的技术工具箱,这篇文章都将为你提供有价值的见解。
|
8天前
|
数据采集 存储 JavaScript
构建你的首个Python网络爬虫:抓取、解析与存储数据
【8月更文挑战第31天】在数字时代的浪潮中,数据成为了新的石油。了解如何从互联网的海洋中提取有价值的信息,是每个技术爱好者的必备技能。本文将引导你通过Python编程语言,利用其强大的库支持,一步步构建出你自己的网络爬虫。我们将探索网页请求、内容解析和数据存储等关键环节,并附上代码示例,让你轻松入门网络数据采集的世界。
|
9天前
|
机器学习/深度学习 数据采集 自然语言处理
Python中实现简单的文本情感分析未来触手可及:新技术趋势与应用深度解析
【8月更文挑战第30天】在数字化的今天,理解和分析用户生成的内容对许多行业至关重要。本文将引导读者通过Python编程语言,使用自然语言处理(NLP)技术,构建一个简单的文本情感分析工具。我们将探索如何利用机器学习模型来识别和分类文本数据中的情感倾向,从而为数据分析和决策提供支持。文章将涵盖从数据预处理到模型训练和评估的全过程,旨在为初学者提供一个易于理解且实用的入门指南。
|
10天前
|
机器学习/深度学习 计算机视觉 Python
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
24 0
|
16天前
|
存储 安全 Linux
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
在Linux中,内核调优配置文件名字有哪些?举例几个内核需要优化的参数配置?
下一篇
DDNS