Python读取ini配置文件

简介: db_config.ini [baseconf] host=127.0.0.1 port=3306 user=root password=root db_name=evaluting_sys [concurrent] processor=20 ...
db_config.ini  
[baseconf]  
host=127.0.0.1  
port=3306  
user=root  
password=root  
db_name=evaluting_sys  
[concurrent]  
processor=20  

python代码

 1 对应的python代码
 2 import sys,os  
 3 import ConfigParser  
 4   
 5 class Db_Connector:  
 6   def __init__(self, config_file_path):  
 7     cf = ConfigParser.ConfigParser()  
 8     cf.read(config_file_path)  
 9   
10     s = cf.sections()  
11     print 'section:', s  
12   
13     o = cf.options("baseconf")  
14     print 'options:', o  
15   
16     v = cf.items("baseconf")  
17     print 'db:', v  
18   
19     db_host = cf.get("baseconf", "host")  
20     db_port = cf.getint("baseconf", "port")  
21     db_user = cf.get("baseconf", "user")  
22     db_pwd = cf.get("baseconf", "password")  
23   
24     print db_host, db_port, db_user, db_pwd  
25   
26     cf.set("baseconf", "db_pass", "123456")  
27     cf.write(open("config_file_path", "w"))  
28 if __name__ == "__main__":  
29   f = Db_Connector("../conf/db_config.ini")  

通用模块:支持命令行+import两种形式

import sys,os,time  
import ConfigParser  
  
  
class Config:  
    def __init__(self, path):  
        self.path = path  
        self.cf = ConfigParser.ConfigParser()  
        self.cf.read(self.path)  
    def get(self, field, key):  
        result = ""  
        try:  
            result = self.cf.get(field, key)  
        except:  
            result = ""  
        return result  
    def set(self, filed, key, value):  
        try:  
            self.cf.set(field, key, value)  
            cf.write(open(self.path,'w'))  
        except:  
            return False  
        return True  
              
              
  
def read_config(config_file_path, field, key):   
    cf = ConfigParser.ConfigParser()  
    try:  
        cf.read(config_file_path)  
        result = cf.get(field, key)  
    except:  
        sys.exit(1)  
    return result  
  
def write_config(config_file_path, field, key, value):  
    cf = ConfigParser.ConfigParser()  
    try:  
        cf.read(config_file_path)  
        cf.set(field, key, value)  
        cf.write(open(config_file_path,'w'))  
    except:  
        sys.exit(1)  
    return True  
  
if __name__ == "__main__":  
   if len(sys.argv) < 4:  
      sys.exit(1)  
  
   config_file_path = sys.argv[1]   
   field = sys.argv[2]  
   key = sys.argv[3]  
   if len(sys.argv) == 4:  
      print read_config(config_file_path, field, key)  
   else:  
      value = sys.argv[4]  
      write_config(config_file_path, field, key, value)  

 

技术改变世界! --狂诗绝剑
目录
相关文章
|
2月前
|
Rust Python
Python 解析 toml 配置文件
Python 解析 toml 配置文件
41 1
|
2月前
|
Python
Python 解析 yaml 配置文件
Python 解析 yaml 配置文件
39 0
|
2月前
|
Python
Python 解析 ini 配置文件
Python 解析 ini 配置文件
33 0
|
3月前
|
Python
[python]从环境变量和配置文件中获取配置参数
[python]从环境变量和配置文件中获取配置参数
|
3月前
|
机器学习/深度学习 计算机视觉 Python
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
102 0
|
3月前
|
测试技术 数据安全/隐私保护 网络虚拟化
干货 | 如何用python实现每天定时备份交换机配置文件? 真香~
干货 | 如何用python实现每天定时备份交换机配置文件? 真香~
|
3月前
|
Python
原创 | 如何在H3C设备上执行Python脚本实现配置文件的替换?
原创 | 如何在H3C设备上执行Python脚本实现配置文件的替换?
|
6月前
|
存储 Python Windows
python INI文件操作与configparser内置库
python INI文件操作与configparser内置库
91 0
|
6月前
|
存储 XML JSON
Python如何读写配置文件?
Python如何读写配置文件?
85 0
|
6月前
|
存储 BI 网络安全
正在等待继续编辑 - Python - 基础知识专题 - 配置文件与日志管理
正在等待继续编辑 - Python - 基础知识专题 - 配置文件与日志管理
54 0