精华内容
下载资源
问答
  • #如何使用Python3读取配置文件(ini)##ini文件简介ini是我们常见到的配置文件格式之一。ini是微软Windows操作系统中的文件扩展名(也常用在其他系统)。INI是英文“初始化(Initial)”的缩写。正如该术语所表示的...

    #如何使用Python3读取配置文件(ini)

    ##ini文件简介

    ini是我们常见到的配置文件格式之一。

    ini是微软Windows操作系统中的文件扩展名(也常用在其他系统)。

    INI是英文“初始化(Initial)”的缩写。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。

    通过它,可以将经常需要改变的参数保存起来(而且还可读),使程序更加的灵活。

    我先给出一个ini文件的示例。

    [School]

    ip = 10.15.40.123

    mask = 255.255.255.0

    gateway = 10.15.40.1

    dns = 211.82.96.1

    [Match]

    ip = 172.17.29.120

    mask = 255.255.255.0

    gateway = 172.17.29.1

    dns = 0.0.0.0

    这个配置文件中保存的是不同场合下的IP设置参数。

    下面将以生成和读取这个配置文件为例,进行讲解。

    ##Python(v3)读取方法

    首先,Python读取ini配置需要用到ConfigParser包,所以要先加载它。

    import configparser

    之后我们需要载入配置文件。

    config=configparser.ConfigParser()

    #IpConfig.ini可以是一个不存在的文件,意味着准备新建配置文件。

    config.read("IpConfig.ini")

    接下来,我们可以使用configparser.add_section()向配置文件中添加一个Section。

    #添加节School

    config.add_section("School")

    注意:如果文件中已经存在相应的项目,则不能再增加同名的节。

    然后可以使用configparser.set()在节School中增加新的参数。

    #添加新的IP地址参数

    config.set("School","IP","192.168.1.120")

    config.set("School","Mask","255.255.255.0")

    config.set("School","Gateway","192.168.1.1")

    config.set("School","DNS","211.82.96.1")

    你可以以同样的方式增加其它几项。

    #由于ini文件中可能有同名项,所以做了异常处理

    try:

    config.add_section("Match")

    config.set("Match","IP","172.17.29.120")

    config.set("Match","Mask","255.255.255.0")

    config.set("Match","Gateway","172.17.29.1")

    config.set("Match","DNS","0.0.0.0")

    except configparser.DuplicateSectionError:

    print("Section "Match" already exists")

    增加完所有需要的项目后,要记得使用configparser.write()进行写入操作。

    config.write(open("IpConfig.ini", "w"))

    以上就是写入配置文件的过程。

    接下来我们使用configparser.get()读取刚才写入配置文件中的参数。读取之前要记得读取ini文件。

    ip=config.get("School","IP")

    mask=config.get("School","mask")

    gateway=config.get("School","Gateway")

    dns=config.get("School","DNS")

    print((ip,mask+" "+gateway,dns))

    ##完整示例

    下面是一个完整的示例程序,他将生成一个IpConfig.ini的配置文件,再读取文件中的数据,输出到屏幕上。

    # -*- coding: utf-8 -*-

    import configparser

    #读取配置文件

    config=configparser.ConfigParser()

    config.read("IpConfig.ini")

    #写入宿舍配置文件

    try:

    config.add_section("School")

    config.set("School","IP","10.15.40.123")

    config.set("School","Mask","255.255.255.0")

    config.set("School","Gateway","10.15.40.1")

    config.set("School","DNS","211.82.96.1")

    except configparser.DuplicateSectionError:

    print("Section "School" already exists")

    #写入比赛配置文件

    try:

    config.add_section("Match")

    config.set("Match","IP","172.17.29.120")

    config.set("Match","Mask","255.255.255.0")

    config.set("Match","Gateway","172.17.29.1")

    config.set("Match","DNS","0.0.0.0")

    except configparser.DuplicateSectionError:

    print("Section "Match" already exists")

    #写入配置文件

    config.write(open("IpConfig.ini", "w"))

    ip=config.get("School","IP")

    mask=config.get("School","mask")

    gateway=config.get("School","Gateway")

    dns=config.get("School","DNS")

    print((ip,mask+" "+gateway,dns))

    ##总结

    Python读取ini文件还是十分简单的,这里我给出的只是一些简单的使用方法,如果想用更高级的功能,比如和注释有关的功能。可以参考Pyhton官方文档

    本文MarkDown源文件和提到的示例程序源代码,可以在我的Github上获取。

    展开全文
  • python使用自带的configparser模块用来读取配置文件,配置文件的形式类似windows中的ini文件。 使用实例 配置文件 [dev] host=172.18.22.57 username=root password=root@nj432 database=ho_db_dev [prod] host=172...

    说明

    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 = configparser.ConfigParser()
    cf.read('db.ini')
    
    # 每个section由[]包裹
    secs = cf.sections()
    
    # 获取某个section名为prod所对应的键
    options = cf.options("prod")
    
    # 获取[prod]中host对应的值
    host = cf.get("prod", "host")
    

    文件结构
    在这里插入图片描述

    数据库实例

    import pymysql
    import configparser
    
    class MySqlUtil:
        def __init__(self):
            """
            数据初始化
            """
            cf = configparser.ConfigParser()
            cf.read('db.ini')
            self.env = 'test'
            self.conn = pymysql.connect(host=cf.get(self.env, "host"), port=3306,
                                        user=cf.get(self.env, "user"), password=cf.get(self.env, "password"),
                                        database=cf.get(self.env, "database"), charset='utf8mb4')
    
    展开全文
  • Python读取ini配置文件 LocalElement.ini配置文件内容如下: [RegisterElement] user_email = id>register_email Python读取LocalElement.ini配置文件的程序如下: #!/usr/bin/env python # -*- coding: UTF-8 -...

    Python读取ini配置文件

    LocalElement.ini配置文件内容如下:

    [RegisterElement]
    user_email = id>register_email

    Python读取LocalElement.ini配置文件的程序如下:

    在这里插入图片描述

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    '''=================================================
    @Project -> File   :Auto_Test_Second -> read_ini.py
    @IDE    :PyCharm
    @Author :Beetester
    @Date   :2019/9/20 22:48
    @Desc   :
    =================================================='''
    import configparser     # 第三方库安装pip install configparser
    
    class ReadIni(object):
    
        def __init__(self, file_name=None, node=None):
            if file_name == None:
                file_name = r"D:\Python\PycharmProjects\Auto_Test_Second\config\LocalElement.ini"
            if node == None:
                self.node = "RegisterElement"
            else:
                self.node = node
            self.cf = self.load_ini(file_name)
    
        def load_ini(self, file_name):
            cf = configparser.ConfigParser()
            cf.read(file_name)
            return cf
    
        def get_value(self, key):
            data = self.cf.get(self.node, key)
            return data
    
    if __name__ == '__main__':
        read_init = ReadIni()
        locator = read_init.get_value('user_email')
        # 根据拆分,获取键对值的键和值
        locatorKey = locator.split(">")[0]
        locatorValue = locator.split(">")[1]
        print(locatorKey)
        print(locatorValue)
    

    获取的键值对如下,可根据获取的键/值去应用。
    在这里插入图片描述

    展开全文
  • Python如何读取配置文件和文本文件

    test_cfg.txt

    ------------------------------------------------

    [Notification Server]

    URL=/mdmi/ns.py

    REST_InstallProfile=/mdmi/rg9Z9UduPoEK2oQIhZFUcqeriGR12Es7/v1/profile/install

    REST_RemoveProfile=/mdmi/rg9Z9UduPoEK2oQIhZFUcqeriGR12Es7/v1/profile/remove

    REST_InstallProfile2=/mdmi/mZAg49qdRmAK2oQIhZFUcu2zPd7l8nQW/v1/profile/install

    REST_RemoveProfile2=/mdmi/mZAg49qdRmAK2oQIhZFUcu2zPd7l8nQW/v1/profile/remove

    REST_InstallProfile3=/mdmi/a51wJAWKV6gK2oQIhZFUclvo7+OoGKtu/v1/profile/install

    REST_RemoveProfile3=/mdmi/a51wJAWKV6gK2oQIhZFUclvo7+OoGKtu/v1/profile/remove

    REST_InstallProfile4=/mdmi/+9LHUbARmrcK2oQIhZFUckU6mhPB!NkS/v1/profile/install

    REST_RemoveProfile4=/mdmi/+9LHUbARmrcK2oQIhZFUckU6mhPB!NkS/v1/profile/remove

    REST_TestConnection=/mdmi/v1

    Hybrid_REST_InstallProfile=/mdmi/yTjW8CeAdR8K2oQIhZFUcrSQWpw6QoAw/v1/profile/install

    Hybrid_REST_RemoveProfile=/mdmi/yTjW8CeAdR8K2oQIhZFUcrSQWpw6QoAw/v1/profile/remove

    Hybrid_REST_InstallProfile2=/mdmi/9JASL6VWha4K2oQIhZFUcmDrZxmNmpIG/v1/profile/install

    Hybrid_REST_RemoveProfile2=/mdmi/9JASL6VWha4K2oQIhZFUcmDrZxmNmpIG/v1/profile/remove

    Hybrid_REST_InstallProfile3=/mdmi/V8SFqNmmLE4K2oQIhZFUcj0exWHIjDp!/v1/profile/install

    Hybrid_REST_RemoveProfile3=/mdmi/V8SFqNmmLE4K2oQIhZFUcj0exWHIjDp!/v1/profile/remove

    Hybrid_REST_InstallProfile4=/mdmi/f7U3Tr+qp3AK2oQIhZFUcpN1XVjcEPk5/v1/profile/install

    Hybrid_REST_RemoveProfile4=/mdmi/f7U3Tr+qp3AK2oQIhZFUcpN1XVjcEPk5/v1/profile/remove

     

    [Connection]

    Host=XXX.XXX.XX.XXX

    Port=443


    import ConfigParser
    import multiprocessing
    import uuid
    import time
    from datetime import datetime
    import tmslog

    CFG_DATA = "test_cfg.txt"
    DEVICES_DATA = "devices_s_ard.txt"
    SIMU_LOG = 'mdmi_simu_log.txt'
    TEST_DATA = ConfigParser.ConfigParser()
    TEST_DATA.read(CFG_DATA)

    class NotificationSimu():
        def __init__(self, flag=0, acct_index=0):
            self.host = TEST_DATA.get("Connection", "Host")
            self.port = TEST_DATA.get("Connection", "Port")
            self.username = TEST_DATA.get("Connection", "Username")
            self.username2 = TEST_DATA.get("Connection", "Username2")
            self.username3 = TEST_DATA.get("Connection", "Username3")
            self.username4 = TEST_DATA.get("Connection", "Username4")
            self.password = TEST_DATA.get("Connection", "Password")
            self.wrongpassword = TEST_DATA.get("Connection", "WrongPassword")


    .......................

    def multiple_process_installprofile():

        #Get out devices info. from txt file
        fd = open(DEVICES_DATA, 'r')
        devices  = fd.readlines()
        fd.close()

        con_num = 35
        loop_num = 4000
        block_size = 3000
        starttime = time.time()
        stime = datetime.now()
        output  =  "mdmi REST simulator Start time : %s\n" %stime
        print output
        perf_log_content = output
        speed = 35
        sleep_round = 1
        pool = multiprocessing.Pool(processes=con_num)
        results = []
        i = 0
        for i in xrange(loop_num):
            results.append(pool.apply_async(call_rest_install, (devices[i], acct_index, False, )))
            if (i+1) % speed == 0:
                time.sleep(sleep_round)
        pool.close()
        pool.join()
        print '======================================================'
        print 'res size: %d' %len(results)
        for res in results:
            print res.get()
        print "Sub-process(es) done."
        endtime = time.time()
        etime = datetime.now()
        output = "mdmi REST simulator End time : %s\n" % etime
        print output
        perf_log_content = perf_log_content + output
        sec_cost = endtime - starttime
        output = "mdmi REST simulaotr sent %d request with time cost: %d seconds.\n" % ((i+1), sec_cost)
        print output
        perf_log_content = perf_log_content + output
        output = '-'*40 + '\n'
        print output
        perf_log_content = perf_log_content + output
        save_perf_log(SIMU_LOG, perf_log_content)



    展开全文
  • python3 读取配置文件

    千次阅读 2019-05-08 22:59:40
    如何读取配置文件的信息: 结构: properties.conf [mysql] ip=192.168.1.102 user=root password=123 db=test [redis] ip=192.168.1.103 first.py读取配置信息: # coding:utf-8 import configparser ...
  • python3读取配置文件,主要用的就算configparser模块,网上资料很乱,我这里整理一下,分享给大家。 比如我们这么一个配置文件,叫config.ini,内容如下 [account] username=zhangsan password=123456 [price] CCNA=...
  • Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件。因此在程序开始位置要导入该模块,注意区分是python2还是python3,python3有一些改动 import ConfigParser #python 2.x import configparser...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 使用到的包:ConfigParser 文档...很类似java的properties文件Python支持ini文件读取ini文件db_config.ini[baseconf]host=127.0.0.1port=3306user=rootpassword=rootdb_name=evaluting_sys[concurrent]processor=2...
  • #主要讲文本形式的 configparser模块 专门处理配置文件 创建一个配置文件内容如下: [DB] #表示section ...如下操作:(关注点 #配置文件的数据读取都是字符串类型,所有要通过eval()转换为字典
  • 非标准配置文件也是经常使用的,如何使用configparser来解析? 这要从configparser本身解析结构来说,configparser包含section和option,非标准配置文件只有option,那么可以人为先加上一个section最后再去掉...
  • 场景:我们在搭建框架时,需要写一个配置文件 一般命名为config.ini 既然写了这个文件,如何读取这个文件中我们写入的数据呢 在python 中有个模块 ConfigParser 这个模块就是专门解决这个问题的。 ...
  • Python读取配置文件

    2014-06-18 17:50:13
    如何Python读取一个配置
  • 假设有如下配置文件,需要在Pyhton程序中读取 $ cat config.ini [db] db_port = 3306 db_user = root db_host = 127.0.0.1 db_pass = xgmtest [SectionOne] Status: Single Name: Derek Value: Yes Age: 30 Single:...
  • 本文来介绍下Python如何读取配置文件。任何一个项目,都涉及到了配置文件和管理和读写,Python支持很多配置文件的读写,这里我们就介绍一种配置文件格式的读取数据,叫ini文件。Python中有一个类ConfigParser支持...
  • Python+Selenium中级篇之5-Python读取配置文件内容

    万次阅读 多人点赞 2017-04-14 17:04:41
    本文来介绍下Python如何读取配置文件。任何一个项目,都涉及到了配置文件和管理和读写,Python支持很多配置文件的读写,这里我们就介绍一种配置文件格式的读取数据,叫ini文件。Python中有一个类ConfigParser支持...
  • 下面通过一个实例来看下如何写入、读取ini配置文件. 需要的配置文件是: 1 [path] 2 back_dir = /Users/abc/PycharmProjects/Pythoncoding/projects/ 3 target_dir = /Users/abc/PycharmProjects/Pythoncodin....
  • 因为python程序可能打包成exe,所有这里我们所有的外部文件都是需要使用 os模块来先获取python程序文件的本地地址 ...可以使用 可使用python内置的 configparser模块 直接读取 .ini 文件 cf = config...
  • 假设有如下配置文件,需要在Pyhton程序中读取 config.ini [db] db_port = 3306 db_user = root db_host = 127.0.0.1 db_pass = 123456789   如何读取呢 方法一: cp = configparser.Co....
  • 本文来介绍下Python如何读取配置文件。任何一个项目,都涉及到了配置文件和管理和读写,Python支持很多配置文件的读写,这里我们就介绍一种配置文件格式的读取数据,叫ini文件。Python中有一个类ConfigParser支持...
  • ini文件是windows中经常使用的配置文件,主要的格式为:[Section1]option1 : value1option2 : value2python提供了一个简单的模块ConfigParser可以用来解析类似这种形式的文件。对于ConfigParser模块可以解析key:...
  • ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容 例如: Config.ini [db] db_host = 127.0.0.1 db_...
  • python + selenium2 如何自定义firefox读取配置文件
  • python 配置文件读取

    2018-04-10 21:08:33
    如何使用配置文件配置像端口号,ip,静态地址等参数 可以使用configparser模块中的ConfigParser类,使用方法如下 第一步,在main函数同级路径下创建后缀名为.cfg的文件,比如system.cfg。此文件包含程序所需所有的...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 171
精华内容 68
关键字:

python如何读取配置文件

python 订阅