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

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

python代码示例如下:

#!/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--

### 回答1: 可以使用Python中的openpyxl库来读取excel文件,然后使用configparser库来写入conf配置文件。示例代码如下:import openpyxl import configparserwb = openpyxl.load_workbook('example.xlsx') sheet = wb.activeconfig = configparser.ConfigParser()for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column): config[row[0].value] = {row[1].value:row[2].value}with open('example.conf', 'w') as configfile: config.write(configfile) ### 回答2: 当我们需要将Excel文件转换为.conf配置文件时,可以使用Python脚本来实现。下面是一个简单的Python脚本示例: ```python import pandas as pd # 读取Excel文件 df = pd.read_excel('input.xlsx') # 获取表格的列名 columns = df.columns.tolist() # 打开或创建.conf配置文件 with open('output.conf', 'w') as file: # 遍历每行数据 for index, row in df.iterrows(): file.write(f"\n\n# 根据{name}生的配置") # 遍历每列数据 for col in columns: if pd.notnull(row[col]): file.write(f"\n{col} = {row[col]}") # 输出转换完的消息 print("转换完!") ``` 在上述示例中,我们使用了pandas库来读取Excel文件。首先,我们通过`pd.read_excel`函数读取名为`input.xlsx`的Excel文件并保存为DataFrame对象`df`。然后,我们使用`.columns.tolist()`方法获取表格的列名,并将其保存在`columns`变量中。 接下来,我们打开或创建名为`output.conf`的配置文件,并使用`with open`语句来确保在脚本执行完毕后关闭文件。然后,我们遍历DataFrame对象`df`中的每行数据,并在配置文件中写入相应的配置项。在每行数据循环的开头,我们使用`name`变量来生注释行。然后,对于每列数据,我们将列名和数据写入配置文件中。 最后,我们打印出转换完的消息,以便在脚本执行完毕后得到反馈。 请注意,上述示例仅仅是一个简单的转换脚本示例,可能无法覆盖所有的Excel文件结构和数据类型。根据实际需求,您可能需要在脚本中做一些更改来适应不同的情况。 ### 回答3: 编写一个将 Excel 文件转换 conf 配置文件Python 脚本可以参考以下步骤: 1. 导入 `pandas` 库,用于处理 Excel 文件数据。 2. 使用 `pandas` 的 `read_excel` 函数读取 Excel 文件,将数据加载到 DataFrame 中。 3. 根据 Excel 文件的结构和需要的配置格式,使用 DataFrame 中的数据进行处理和转换。 4. 创建一个空的字符串变量,用于存储转换后的配置文件内容。 5. 遍历 DataFrame 的行,根据每行的数据生配置项,并将其添加到配置文件内容字符串中。 6. 将配置文件内容字符串写入目标 conf 文件中。 下面是一个简单的示例: ```python import pandas as pd # 读取 Excel 文件 data = pd.read_excel('input.xlsx') # 创建空的配置文件内容字符串 conf_data = '' # 遍历 DataFrame 的行 for index, row in data.iterrows(): # 根据 Excel 中的列名获取对应的值 key = row['配置项名称'] value = row['配置项值'] # 生配置项的格式,例如:key = value conf_item = f'{key} = {value}\n' # 将配置项添加到配置文件内容字符串中 conf_data += conf_item # 将配置文件内容字符串写入目标 conf 文件 with open('output.conf', 'w') as f: f.write(conf_data) ``` 以上代码是一个简单的示例,具体的转换逻辑和配置文件格式需要根据实际的 Excel 文件和要求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值