Python读取ini配置文件
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)
技术改变世界!
--狂诗绝剑
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架