python读取和自定义配置文件的教程

如何在python中读取配置文件 说明 python使用自带的configparser模块用来读取配置文件,配置文件的形式类似windows中的ini文件。 使用实例 配置文件 [dev] host=172.18.22.57 username=root password=root@nj432 database=ho_db_dev [prod] host=172.19.17.47 username=docker password=docker@#@! database=ho_db 读取 import configparser cf = 阅读详情
python读取和自定义配置文件的方法。

python读取配置文件很方便。
例如下面的配置文件:
0.ini文件:
----文件开始----
[global]
ip = 192.168.1.100 ;ip地址
port = 1234
MAC = 0x414243444546;mac
----文件结束-----
要从中读取ip地址:

#! /usr/bin/python
#-*- coding: utf-8 -*-
import ConfigParser
 
config = ConfigParser.ConfigParser()
config.readfp(open(raw_input("Input file name : "),"rb"))
 
print config.get("global","ip")

运行结果:
>>>
Input file name : 0.ini
192.168.1.100

如果把最后一行换成:print config.get("global","MAC")
运行结果:
>>>
Input file name : 0.ini
0x414243444546;mac

然而读取的数据不是我预期的(主要是ini文件写法有误),再看下面这个自定义的配置文件:
1.ini文件:
---文件开始----
# 配置文件
<part1>
[global] #全局配置参数
ip = 192.168.1.100
port = 1234
MAC = 0x414243444546# MAC地址

<part2>
[global] #全局配置参数
ip = 192.168.1.101
port = 1234
MAC = 0x414243444547 # MAC地址

---文件结束----
对于扩展的配置文件格式,上述代码不能解析。默认的配置有时候局限太大,用起来不太方便。
我们可以借助python的dict数据结构完成配置文件的解析,使用起来也很方便。
下面是个示例,可以读取上述扩展的配置文件。

下面给出本python 教程的读取配置文件的代码示例:

#! /usr/bin/python
#-*- coding: utf-8 -*- 
 
partLable = ("<",">")
sectionLable = ("[","]")
endlineLable = "\r\n" # windows下的行标志
#endlineLable = "\n"   # linux下的行标志
equalLable = "=" # 赋值标志
noteLable = '#' # 注释标志

# 得到总配置的map
def getPlatformMap(strtmp,lable1 = partLable,lable2 = sectionLable):
    tmp = strtmp.split(lable1[0])
    tmp = [elem for elem in tmp if len(elem) > 1]
    tmp = [elem for elem in tmp if elem.rfind(lable1[1]) > 0]
    platdict = {}
    for elem in tmp:
        key = elem[0:elem.find(lable1[1]):]
        value = elem[elem.find(lable2[0])::]
        platdict[key] = value
    return platdict

# 得到各部分的map
def getSectionMap(strtmp,lable1 = sectionLable):
    tmp = strtmp.split(lable1[0])
    tmp = [elem for elem in tmp if len(elem) > 1]
    tmp = [elem for elem in tmp if elem.rfind(lable1[1]) > 0]
    sectionDict = {}
    for elem in tmp:
        key = elem[0:elem.find(lable1[1]):]
        value = elem[elem.find(endlineLable)+len(endlineLable)::]
        sectionDict[key] = value
     return sectionDict
 
# 获取具体配置值
def getValueMap(strtmp):
     tmp = strtmp.split(endlineLable)
     tmp = [elem for elem in tmp if len(elem) > 1]
     valueDict = {}
     for elem in tmp:
         if elem.find(noteLable) > 0: # 如果有注释则去掉注释
             elem = elem[0:elem.find(noteLable):]
         elem = ''.join(elem.split()) # 去掉空白字符
         key = elem[0:elem.find(equalLable):]
         value = elem[elem.find(equalLable)+len(equalLable)::]
         valueDict[key] = value
     return valueDict
 
 f = open(raw_input("Input file name : "),"rb")
 strFileContent = f.read()
 f.close()
 vardict = {}
 
 var1 = getPlatformMap(strFileContent)
 
 for k,v in var1.items():
     var2 = getSectionMap(v)
     dict3 = {}
     for k2,v2 in var2.items():
         var3 = getValueMap(v2)
         dict3[k2] = var3
     vardict[k] = dict3
 
 print vardict["part2"]["global"]["ip"]

以上只是提供一种思路,并验证其可行性,具体实施可以借助C++等其它语言改写以满足需求。

Python之读取配置文件 Python之读取配置文件 在我们编写基于Appium框架的自动化测试脚本时,我们可以把初始化中用到的参数放到配置文件中来维护读写 一、ConfigParser简介Python自带的模块,用来读取配置文件的包。配置文件格式:[oppo] platformName = Android platformVersion = 6.0 deviceName = 2a22cee appPackage = c 阅读详情

相关推荐

使用Python自定义数据读入的方法介绍

然后,它将每一行数据进行处理,将特征和标签分别存储在X和y列表中。最后,它将X和y转换为NumPy数组,并返回这两个数组。在这个示例中,我们使用了一个简单的多层感知器(MLP)模型。模型包含两个隐藏层和一个输出层,每个隐藏层都使用ReLU激活函数,输出层使用softmax激活函数。在这个示例中,我们假设训练集和测试集分别存储在’train_data.txt’和’test_data.txt’两个文件中。通过以上步骤,我们可以使用Python自定义数据读入的方法加载和处理数据集,并构建和训练分类器模型。

PixelLancer的博客 218

Python读取配置文件

python没有自带的处理yaml文件的库,需要下载第三方库PyYAML 或 ruamel.yaml ,这里我们安装PyYAML ,同时写入测试数据。环境变量,顾名思义,其为不变的量,相当于一个常量,所以这里就不提供修改环境变量的值,再加载到文件中的方法了。TOML 的目标是成为一个极简的配置文件格式。项目中的环境变量写到.env文件里,以k,v的方式读取作为环境变量。基本的配置文件的读取方式都在这里了,大家可以根据自己的需求学习!XML 易于扩展,主要用来传送和存储数据,聚焦的是数据的内容。

一个专注于机器学习基础与实战的技术博客,内容涵盖算法推导、模型实现、数学原理与代码实践。用通俗的语言解析复杂概念,记录学习过程中的思考与总结,适合机器学习爱好者和从业者参考。 1万+

深入解析BlueZ5与D-Bus:Linux蓝牙开发实战指南

本文深入解析BlueZ5与D-Bus在Linux蓝牙开发中的核心应用,提供从环境搭建到实战开发的完整指南。通过详细代码示例和调试技巧,帮助开发者掌握蓝牙协议栈与D-Bus接口的交互方法,实现高效蓝牙设备管理与GATT服务开发。

weixin_28292761的博客 449

python读取配置文件,操作当前目录xml文件

环境:linux+python2.6 作用: 1、读取changeconfig,确定对当前目录xml文件的匹配规则 2、匹配成功后,将指定xml中内容进行修改或增加 作用范围:当前目录下 请求示例: python changeconfig.py 请求参数: 无 返回: 成功:ok: % d: % s ok:1:It has been modified 失败:fail: % d: % s fail????Configuration error status说明: 1 成功 -1 配

weixin_43249934的博客 1120

MT6771 Android13 背光曲线调试与光感数据校准实战

本文详细介绍了MT6771平台在Android 13系统上进行背光曲线调试与光感数据校准的实战经验。针对高亮度环境下背光误调节问题,深入分析了光感数据上报机制,并提供了驱动层配置修改、背光曲线优化及常见问题解决方案,帮助开发者快速定位并解决类似问题。

moon9的博客 287

Unity3d SECTR 2019 从零开始了解(零)

插件刚下载下来,虽然从Demo里面看了下大致效果,但尝试使用的时候茫无头绪,因此决定一边读文档一边写下笔记。这个笔记会从最基本的名词概述开始一步一步到用法。 除非特别注明,所有内容都不是机翻,而是理解后自己翻译的。 翻译内容: 【零】API REFERENCE MANUAL第一章Documentation Core Concept 【一】 名词概述 CORE CORE是SECTR的核心,一个快速将 Sectors 和 Portals 加入到Unity中的工具,以及完整的源代码,可以构筑独特的功能。 VI

狗蛋在土里瑟瑟发抖 1500

python跨文件调用函数_Python 跨.py文件调用自定义函数说明

0 前言os.chdir() :用于改变当前python工作的目录到指定的路径sys.path:是python搜索模块的一个路径集,为list,自定义的包可以把存放路径加进去,之后直接调用包名就行了。1 同一文件夹一般当前的工作路径是在搜索路径里面,所以不用sys.path.append,如果调用包的时候报错,先使用sys.path查看当前路径在不在list里,不在list里加进去才能直接调用自定...

weixin_39944074的博客 1031

基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验

本文详细介绍了基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验。通过分析纯滞后系统的控制难题,探讨大林算法在工业控制中的应用优势,并提供Matlab-Simulink环境搭建、控制器D(z)设计、振铃消除及仿真实验的完整流程。文章还对比了大林算法与PID控制的性能差异,为工程实践提供参考。

dropout6artist的博客 795

python配置文件的两种方式

在运行项目程序时通常会有一个配置文件,配置文件是用于配置程序的参数和初始化设置的文件。比如现在要做一个项目,在部署程序时,需要摄像头IP地址、数据库地址、数据库名称,这些都可以作为配置项写入配置文件。当程序实地部署时,只需要修改配置文件,不需要去代码当中到处查找修改。本文以下配置内容以配置多个摄像头为例。新建一个文件,将程序运行所需的摄像头参数写入一个类中。 测试代码: yaml文件作为配置文件 首先需要安装相应的包 yaml支持的数据结构有3种:对象:对象的一组键值,使用冒号表示(注意:编写的时候最好冒

JulyLi2019的博客 3299

别再一个个BAPI调了!用CVI_EI_INBOUND_MAIN一次性搞定SAP BP主数据(附完整ABAP代码)

本文详细介绍了如何使用SAP标准函数CVI_EI_INBOUND_MAIN高效维护业务伙伴(BP)主数据,替代传统的多BAPI调用方式。通过完整ABAP代码示例,展示了如何一站式处理供应商、客户、公司代码等所有视图的创建与更新,提升数据一致性和开发效率。

weixin_29204205的博客 291

RS-485调试踩坑实录:MAX13487数据回环问题排查与修复(附电路图)

本文深入解析了RS-485通信中MAX13487芯片的数据回环问题,提供了详细的排查过程和解决方案。通过分析芯片特性和自动换向机制,揭示了RO引脚配置不当是导致问题的关键原因,并给出硬件(添加上拉电阻)和软件(调整MCU配置)两种修复方案,附有优化设计建议和实际调试技巧。

play7的博客 1297

Python学习-----文件操作(读写定位篇)

前面我们学过C语言操作文件,文件有很多种,.txt、.mp3、.doc、.jpg等等……,一般我们是从文本文件txt开始去学习了,这里我们就以文本文件为学习对象,详细讲解Python中文件操作方式。这个是c语言文本文件操作方法C语言 文本文件读取、写入与定位(详细介绍)_c语言文件的读取和写入_Python欧尼酱的博客-优快云博客。

m0_73633088的博客 5416

山景BP10_128DBG开发板ADC_Key驱动

最近在学习山景BP10_128DBG开发板,想使用开发板上的按键。看了看原理图和之前用过的按键好像有点不一样。常见的按键都是判断IO口是否被拉低或拉高来判断按键是否被按下。山景BP10_128DBG开发板上的按键是ADC按键,每个按键按下之后ADC的采样值是不同的,通过ADC采样回来的值进而判断哪个按键按下。这种方式核心思想就是用一个ADC通道来节约IO口,对于IO紧张的芯片是一个不错的解决思路。

weixin_56646002的博客 1308

MaxMind-DB-Reader-python 项目使用教程

MaxMind-DB-Reader-python 项目使用教程 1. 项目的目录结构及介绍 MaxMind-DB-Reader-python/ ├── LICENSE ├── MANIFEST.in ├── README.md ├── maxminddb/ │ ├── __init__.py │ ├── extension.pyx │ ├── reader.py │ └── tes...

gitblog_00812的博客 443

PR工具timing report中setup time的计算过程

然后去pr工具里报告report_delay_calculation/reportDelayCalculation -from related_pin -to constraint_pin。这里constraint pin就是D pin (D0 D1 D2 D3),related pin就是 CK pin。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 455

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python自定义配置文件读取_python读取和自定义配置文件的方法

python读取和自定义配置文件的方法,有需要的朋友可以参考下。python读取配置文件很方便。例如下面的配置文件:0.ini文件:----文件开始----[global]ip = 192.168.1.100 ;ip地址port = 1234MAC = 0x414243444546;mac----文件结束-----要从中读取ip地址: 代码如下: #! /usr/bin/python#-*- co...

weixin_29124423的博客 485

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【某机构vip教程】python(6):python读取ini的配置文件

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili​​​​​​也方便你下次能够快速查找。如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

阿里大叔说测试的博客 1123

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Python】配置文件的读取和写入

之前已经学习了如何获取和操作页面元素。在实际的使用过程中,操作页面元素在代码中直接操作是非常不实用的,优化方案就是将要操作的元素和操作方式写在配置文件之中,通过调用配置文件来完成相关操作。 1. 配置的安装 要使用配置文件,首先要安装相关扩展来读取配置文件。 安装方法:进入cmd,输入命令pip install ConfigParser: ...

953

Python 读取和写入 .ini 配置文件

configparser` 是 Python 标准库中的一个模块,用于解析和操作配置文件。它支持多种格式的配置文件,包括 .ini 文件。通过这个模块,我们可以轻松地读取配置项、修改配置并保存到文件中。通过使用 `configparser` 模块,我们可以非常方便地处理 .ini 配置文件。无论是读取现有配置还是创建新配置,这个模块都提供了简单而强大的功能。希望这篇文章能帮助你更好地理解和使用 Python 中的 .ini 配置文件处理。```

2501_91305490的博客 1340

python怎么读取配置文件

cf.read('D:\liantuo\seleniumTest\config\LocalElement.ini',encoding='UTF-8') #读取配置文件,直接读取ini文件内容。print(cf.get('LoginElement','user_name')) #获取section中option的值,返回为string类型。print(read_init.get_value('user_name')) #传入key值,获取value。:param file_name:配置文件地址。

hakesashou的博客 1457

python自定义配置文件读取_读取配置文件和自定义配置文件(python实现)

用python读取配置文件比较方便,比如下面一个配置文件:0.ini文件:---------------文件开始----------------[global]ip = 192.168.1.100 ;ip地址port = 1234MAC = 0x414243444546;mac---------------文件结束----------------要从中读取ip地址我们可以用如下代码:1 #! /u...

weixin_42378374的博客 409

python读取配置文件以及封装

python读取配置文件以及封装 目录 python读取配置文件以及封装 一、配置文件 1.配置文件的作用: 2.场景举例 3.python中常见的配置文件格式 4.配置文件对象 二、配置文件的使用 三、ConfigParser模块 from configparser import ConfigParser 1.实例化ConfigPaeser对象 2.打开配置文件 3.读取配置文件中的内容get() 4.获取数字类型的数据getint(int类型) 5.获取浮点类型的数据g...

BJ1599449的博客 1286

python之配置文件ini的读取

from configparser import ConfigParser

shadowsland的专栏 770

python学习之读取配置文件

主要介绍了python学习之读取配置文件,文章基于python的相关资料展开对主题的详细介绍

weixin_45841831的博客 2983

python自定义配置文件读取_python使用 Configparser 实现读取、保存配置文件

最近搞的微信小助手有些配置比如:自动回复私聊消息、自动加好友、图灵机器人配置等,每次用户输入都比较麻烦,保存到一个配置文件读取便显得比较方便。Python 提供了一个Configparser 模块来实现了配置文件的读取与保存,具体怎么用呢?这里记录下相关简单用法。详细的模块介绍看 这里1、配置文件的写入add_section(section) # 添加sectionset(...

weixin_39796652的博客 517
上一篇: python 获取 mac 地址 的代码举例
下一篇: python 获取本机ip地址的两种实现方法
my_baby_2009
博客等级 码龄14年 31粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值