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('数据库连接失败')