源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python读写ini文件示例(python读写文件)

  • 时间:2020-12-21 18:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python读写ini文件示例(python读写文件)
很类似java的properties文件 xml文件
[u]复制代码[/u] 代码如下:
db_config.ini [baseconf] host=127.0.0.1 port=3306 user=root password=root db_name=evaluting_sys [concurrent] processor=20
对应的python代码
[u]复制代码[/u] 代码如下:
#!/usr/bin/python # -*- coding:utf-8 -*- #author: lingyue.wkl #desc: use to db ops #--------------------- #2012-02-18 created #--------------------- 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")
得到结果:
[u]复制代码[/u] 代码如下:
section: ['concurrent', 'baseconf'] options: ['host', 'db_name', 'user', 'password', 'port'] db: [('host', '127.0.0.1'), ('db_name', 'evaluting_sys'), ('user', 'root'), ('password', 'root'), ('port', '3306')] 127.0.0.1 3306 root root
通用模块:支持命令行+import两种形式 ini_op.py
[u]复制代码[/u] 代码如下:
#!/usr/bin/python # -*- coding:utf-8 -*- #author: lingyue.wkl #desc: use to read ini #--------------------- #2012-02-18 created #2012-09-02 changed for class support #--------------------- 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)
第二个示例
[u]复制代码[/u] 代码如下:
import os import ConfigParser def main():     cp = ConfigParser.ConfigParser()        cf = open(u"in.ini")     cp.readfp(cf)     secs = cp.sections()     print cp.sections()     for sec in secs:         opts = cp.options(sec)         for opt in opts:             val = cp.get(sec, opt)             val += "test....."             cp.set(sec, opt, val)     cp.write(open("out.ini", "w")) if __name__ == '__main__':     main()
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部