python相关库

3-configparse模块

2018-10-02  本文已影响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('数据库连接失败')
上一篇 下一篇

猜你喜欢

热点阅读