3-configparse模块

作者: 撸撸很乖张 | 来源:发表于2018-10-02 23:46 被阅读0次

ConfigParser模块是对配置文件处理比较好的一个模块,它可以读取后缀为.ini的文件内容,以及增加

配置文件的内容,比如我们在一个文件夹config中新增config.ini,填写的信息是mysql的信息,来连接数

据库信息。我们先来看ConfigParser模块常用的方法,以及该模块的详细的帮助信息,然后通过读取数

据库的配置信息,实现对mysql的连接。

下来我们来看下该模块的具体应用,我们先来完善config.ini配置文件的信息,见该配置文件里面的内容:

[mysql_info]
hostname=localhost
port=3306
username=root
password=123456
database=spider

见对该配置文件操作的代码:

import configparser
import os

config = configparser.ConfigParser()
# 读取配置文件的内容
config.read(os.path.join(os.path.dirname(__file__), 'config', 'config.ini'))
# 获取配置文件的所有节点
print(config.sections())
# 获取mysql_info节点下的内容
ret = config.options('mysql_info')
for item in ret:
    print(item)
print('检查节点是否存在:', config.has_option('mysql_info', 'hostname'))
print('读取节点下的文件内容:', config.get('mysql_info', 'hostname'))

# 检查mysql_info节点中是否存在db节点,如果存在,就删除,不过不存在就添加
print(config.has_option('mysql_info', 'db'))
if not config.has_option('mysql_info', 'db'):
    config.set('mysql_info', 'db', 'spider')
    config.write(open(os.path.join(os.path.dirname(__file__), 'config', 'config.ini'),'w'))
else:
    config.remove_option('mysql_info', 'db')

OK,我们我们写一个简单的函数,来连接mysql的数据库服务,数据库的信息存储在配置信息文件中,见实现的代码:

import configparser
import os
import pymysql

def get_config():
    mysql_info={}
    config=configparser.ConfigParser()
    config.read(os.path.join(os.path.dirname(__file__), 'config', 'config.ini'))
    hostname = config.get(config.sections()[0], 'hostname')
    port = config.get(config.sections()[0], 'port')
    username = config.get(config.sections()[0], 'username')
    password = config.get(config.sections()[0], 'password')
    db = config.get(config.sections()[0], 'db')
    mysql_info['host'] = hostname
    mysql_info['port'] = int(port)
    mysql_info['user'] = username
    mysql_info['password'] = password
    mysql_info['db'] = db
    return mysql_info

info = get_config()
print(info)

try:
    conn = pymysql.Connect(**info)
    print('数据库连接成功')
except:
    print('数据库连接失败')

相关文章

  • 3-configparse模块

    ConfigParser模块是对配置文件处理比较好的一个模块,它可以读取后缀为.ini的文件内容,以及增加 配置文...

  • python常用模块!!

    os模块: stat模块: sys模块: hashlib,md5模块: random模块: types模块: at...

  • 2018-08-19

    Angular 2 技能图谱 模块 自定义模块 根模块 特性模块 共享模块 核心模块 内置模块 Applicati...

  • 【时间管理100讲】精髓全在这里啦

    理论模块 精力管理。 行动管理。 学习模块。 高空模块。 反思模块。 运动模块。 阅读模块。 旅行模块。 人际关系...

  • python基础学习(三)

    常用模块 String模块 数学模块 随机模块 OS模块 os.path模块 re模块 常用函数及操作 列表操作 ...

  • day10-异常处理和pygame显示

    一、异常处理 1.模块 导入模块(自定义模块,第三方模块)import 模块 ---->模块.内容from 模块 ...

  • 重点知识复习(异常处理)

    1.模块 导入模块(自定义模块,第三方模块,系统其他模块)import 模块 ----> 模块.内容from 模...

  • Python常用模块

    Python常用模块之time模块 Python常用模块之os模块 Python常用模块之sys模块 Python...

  • nodejs-模块

    nodejs模块 一、nodejs模块分类 1.核心模块 Core Module、内置模块、原生模块 fs模块 p...

  • Python不同网络模块网页源代码的获取

    requests模块 或者使用 selenium模块 BeautifulSoup模块 urllib模块

网友评论

    本文标题:3-configparse模块

    本文链接:https://www.haomeiwen.com/subject/dotzoftx.html