最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python讀寫(xiě)ini文件示例(python讀寫(xiě)文件)

 更新時(shí)間:2014年03月25日 09:13:30   作者:  
項(xiàng)目用到數(shù)據(jù)庫(kù),多個(gè)地方使用,不能硬編碼。ython支持ini文件的讀取,就在項(xiàng)目中使用了ini文件,下面是示例

很類(lèi)似java的properties文件

xml文件

復(fù)制代碼 代碼如下:

db_config.ini
[baseconf]
host=127.0.0.1
port=3306
user=root
password=root
db_name=evaluting_sys
[concurrent]
processor=20

對(duì)應(yīng)的python代碼

復(fù)制代碼 代碼如下:

#!/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")

得到結(jié)果:

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

#!/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)

第二個(gè)示例


復(fù)制代碼 代碼如下:

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()

相關(guān)文章

  • Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對(duì)比示例詳解

    Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對(duì)比示例詳解

    這篇文章主要介紹了Python?基于xml.etree.ElementTree實(shí)現(xiàn)XML對(duì)比,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • Python繪圖之桃花盛開(kāi)

    Python繪圖之桃花盛開(kāi)

    這篇文章主要介紹了如何用python繪制桃花樹(shù),幫助大家更好的使用python處理圖片,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • python csv一些基本操作總結(jié)

    python csv一些基本操作總結(jié)

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著python csv的一些基本操作展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python切片(獲取一個(gè)子列表(數(shù)組))詳解

    python切片(獲取一個(gè)子列表(數(shù)組))詳解

    這篇文章主要介紹了python切片(獲取一個(gè)子列表(數(shù)組))詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python中的賦值、淺拷貝、深拷貝介紹

    Python中的賦值、淺拷貝、深拷貝介紹

    這篇文章主要介紹了Python中的賦值、淺拷貝、深拷貝介紹,Python中也分為簡(jiǎn)單賦值、淺拷貝、深拷貝這幾種“拷貝”方式,需要的朋友可以參考下
    2015-03-03
  • Python 隨機(jī)生成測(cè)試數(shù)據(jù)的模塊:faker基本使用方法詳解

    Python 隨機(jī)生成測(cè)試數(shù)據(jù)的模塊:faker基本使用方法詳解

    這篇文章主要介紹了Python 隨機(jī)生成測(cè)試數(shù)據(jù)的模塊:faker基本使用方法,結(jié)合實(shí)例形式詳細(xì)分析了Python 隨機(jī)生成測(cè)試數(shù)據(jù)的模塊faker基本功能、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • python使用Paramiko模塊實(shí)現(xiàn)遠(yuǎn)程文件拷貝

    python使用Paramiko模塊實(shí)現(xiàn)遠(yuǎn)程文件拷貝

    這篇文章主要為大家詳細(xì)介紹了python使用Paramiko模塊實(shí)現(xiàn)遠(yuǎn)程文件拷貝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python進(jìn)程間通信用法實(shí)例

    Python進(jìn)程間通信用法實(shí)例

    這篇文章主要介紹了Python進(jìn)程間通信用法,涉及Python通過(guò)multiprocessing模塊操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • Python&Matlab實(shí)現(xiàn)炫酷的3D旋轉(zhuǎn)圖

    Python&Matlab實(shí)現(xiàn)炫酷的3D旋轉(zhuǎn)圖

    這篇文章主要為大家介紹了如何利用Python和Matlab分別實(shí)現(xiàn)酷炫的3D旋轉(zhuǎn)圖,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-04-04
  • Python中Qslider控件實(shí)操詳解

    Python中Qslider控件實(shí)操詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于Python中Qslider控件實(shí)操詳解內(nèi)容,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-02-02

最新評(píng)論

股票| 定兴县| 钟祥市| 新野县| 苍梧县| 西乡县| 辽源市| 井研县| 岳西县| 北川| 广德县| 滦平县| 闸北区| 灵石县| 昌平区| 蒲城县| 砀山县| 信阳市| 宜春市| 台安县| 清河县| 那坡县| 甘南县| 永安市| 常德市| 凤山县| 易门县| 左贡县| 鲜城| 右玉县| 江都市| 南宁市| 克东县| 永济市| 邯郸市| 新晃| 温州市| 虎林市| 呼伦贝尔市| 濮阳县| 镇康县|