AD

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

项目用到数据库,多个地方使用,不能硬编码。ython支持ini文件的读取,就在项目中使用了ini文件,下面是示例

很类似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()
标签: python, 文件
分类: Python
时间: 2015-02-15

相关文章

  1. 使用python删除nginx缓存文件示例(python文件操作)

    这篇文章主要介绍了使用python删除nginx缓存文件示例(python文件操作),需要的朋友可以参考下 调用时输入参数如: www.jb51.net/表示删除www.jb51.net首页的缓存, www.jb51.n ...
  2. python读取csv文件示例(python操作csv)

    这篇文章主要介绍了python读取csv文件示例,这个示例简单说明了一下python操作csv的方法,需要的朋友可以参考下 import csv for line in open("test.csv" ...
  3. c#读写ini配置文件示例

    虽然c#里都是添加app.config 并且访问也很方便 ,有时候还是不习惯用他.那么我们来做个仿C++下的那种ini配置文件读写吧 其他人写的都是调用非托管kernel32.dll.我也用过 但是感觉兼容性有点不好 有 ...
  4. Java中使用opencsv读写csv文件示例

    这篇文章主要介绍了Java中使用opencsv读写csv文件示例,本文给出了读CSV文件.写CSV文件.自定义分隔符.生成Javabeans等内容,需要的朋友可以参考下 OpenCSV是一个简单的用于解析CSV文件的ja ...
  5. C#实现读写ini文件类实例

    这篇文章主要介绍了C#实现读写ini文件类,实例分析了C#实现针对ini文件的读.写.删除等操作的常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了C#实现读写ini文件类.分享给大家供大家参考.具体如 ...
  6. Python读取ini文件.操作mysql.发送邮件实例

    这篇文章主要介绍了Python读取ini文件.操作mysql.发送邮件实例,本文重点在Mysql操作的讲解上,包含查询.插入.更新和删除操作,需要的朋友可以参考下 我是闲的没事干,2014过的太浮夸了,博客也没写几篇,哎 ...
  7. Python中使用dom模块生成XML文件示例

    这篇文章主要介绍了Python中使用dom模块生成XML文件示例,本文讲解了dom模块的主要方法.详细的代码实例,需要的朋友可以参考下 在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom ...
  8. python使用内存zipfile对象在内存中打包文件示例

    这篇文章主要介绍了python使用内存zipfile对象在内存中打包文件示例,需要的朋友可以参考下 import zipfile import StringIO class InMemoryZip(object): de ...
  9. java多线程读写文件示例

    这篇文章主要介绍了java多线程读写文件示例,需要的朋友可以参考下 package com.ysh.file; import java.util.ArrayList; import java.util.LinkedLis ...
  10. python操作xml文件示例

    这篇文章主要介绍了python操作xml文件示例,需要的朋友可以参考下 def get_seed_data(filename): dom = minidom.parse(filename) root = dom.docu ...
  11. Python中使用第三方库xlrd来写入Excel文件示例

    这篇文章主要介绍了Python中使用第三方库xlrd来写入Excel文件示例,本文讲解了安装xlwt.API介绍.使用xlwt写入Excel文件实例,需要的朋友可以参考下 继上一篇文章使用xlrd来读Excel之后,这一 ...
  12. C#中读写INI文件的方法例子

    C#中读写INI文件的方法例子,需要的朋友可以参考一下 通常C#使用基于XML的配置文件,不过如果有需要的话,比如要兼顾较老的系统,可能还是要用到INI文件. 但C#本身并不具备读写INI文件的API,只有通过调用非托管 ...
  13. Python中使用第三方库xlutils来追加写入Excel文件示例

    这篇文章主要介绍了Python中使用第三方库xlutils来追加写入Excel文件示例,本文直接给出追加写入示例和追加效果,需要的朋友可以参考下 目前还没有更好的方法来追写Excel,lorinnn在网上搜索到以及之后用 ...
  14. python读取html中指定元素生成excle文件示例

    这篇文章主要介绍了python读取html中指定元素生成excle文件示例,需要的朋友可以参考下 Python2.7编写的读取html中指定元素,并生成excle文件 #coding=gbk import string ...
  15. windows系统中python使用rar命令压缩多个文件夹示例

    这篇文章主要介绍了windows系统中python使用rar命令压缩多个文件夹示例,需要的朋友可以参考下 #!/usr/bin/env python # Filename: backup_ver1.py import o ...
  16. API读写INI文件(转载)

    API读写INI文件(转载) 20 用API写INI文件的函数有 BOOL WritePrivateProfileString( LPCTSTR lpAppName, // 节名 LPCTSTR lpKeyName, / ...
  17. C#读写INI文件

    C#读写INI文件,需要用到两个API函数 WritePrivateProfileString GetPrivateProfileString 需要特别注意的是:这两个函数中的*.ini文件地址要使用绝对地址 下面程序的 ...
  18. python删除文件示例分享

    这篇文章主要介绍了删除文件夹下所有文件和子文件夹的示例,大家参考使用吧 删除文件 os.remove( filename ) # filename: "要删除的文件名" 产生异常的可能原因: (1)f ...
  19. python实现在目录中查找指定文件的方法

    这篇文章主要介绍了python实现在目录中查找指定文件的方法,通过模糊查找与精确查找两个实例较为详细的阐述了文件查找的方法,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了python实现在目录中查找指定文件的方法 ...