Python读取ini配置文件
2015-12-04 19:35
633 查看
db_config.ini [baseconf] host=127.0.0.1 port=3306 user=root password=root db_name=evaluting_sys [concurrent] processor=20
python代码
对应的python代码 import sys,os import ConfigParser class Db_Connector: def __init__(self, config_file_path): cf = ConfigParser.ConfigParser() cf.read(config_file_path) s = cf.sections() print 'section:', s o = cf.options("baseconf") print 'options:', o v = cf.items("baseconf") print 'db:', v db_host = cf.get("baseconf", "host") db_port = cf.getint("baseconf", "port") db_user = cf.get("baseconf", "user") db_pwd = cf.get("baseconf", "password") print db_host, db_port, db_user, db_pwd cf.set("baseconf", "db_pass", "123456") cf.write(open("config_file_path", "w")) if __name__ == "__main__": 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)
相关文章推荐
- python培训Day6 随笔
- Python -- 单例模式
- Python操作mysql数据库(封装基本的增删改查)
- Python -- 遍历字典时删除元素报异常
- [Python]多线程编程&线程间共享变量&消费者生产者问题的解决
- Python tab键补全
- Python中@的用法(Decorator:装饰器)
- 模糊Kmeans
- Python IDEL整体代码缩进
- Python开发常用模块
- python引用py文件中文报错
- python类属性、实例属性及私有属性【For Java 程序员】
- LeetCode解题报告--Search Insert Position
- [转]Ubuntu下快速安装python
- python--字典初始化
- selenium python (二) 元素定位方法
- 从pyh看Python的工厂模式
- python__The _imaging C module is not installed
- Python yield 官方详解(基于2.x)
- python入门常见错误