python读写ini文件示例(python读写文件)
admin
2023-07-31 02:08:56
0

很类似java的properties文件

xml文件

复制代码 代码如下:
db_config.ini
[baseconf]
host=127.0.0.1
port=3306
user=root
password=root
db_name=evaluting_sys
[concurrent]
processor=20

对应的python代码

复制代码 代码如下:
#!/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\”)

得到结果:

复制代码 代码如下:
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

复制代码 代码如下:
#!/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)

第二个示例

复制代码 代码如下:
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()

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...