日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python ConfigParser的使用

發(fā)布時(shí)間:2024/4/15 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python ConfigParser的使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.基本的讀取配置文件
-read(filename) 直接讀取ini文件內(nèi)容
-sections() 得到所有的section,并以列表的形式返回
-options(section) 得到該section的所有option
-items(section) 得到該section的所有鍵值對(duì)
-get(section,option) 得到section中option的值,返回為string類(lèi)型
-getint(section,option) 得到section中option的值,返回為int類(lèi)型,還有相應(yīng)的getboolean()和getfloat() 函數(shù)。
?
2.基本的寫(xiě)入配置文件
-add_section(section) 添加一個(gè)新的section
-set( section, option, value) 對(duì)section中的option進(jìn)行設(shè)置,需要調(diào)用write將內(nèi)容寫(xiě)入配置文件。
?
3.基本例子
test.conf

  • [sec_a]?
  • a_key1?=?20?
  • a_key2?=?10?
  • ??
  • [sec_b]?
  • b_key1?=?121?
  • b_key2?=?b_value2?
  • b_key3?=?$r?
  • b_key4?=?127.0.0.1?
  • parse_test_conf.py

  • import?ConfigParser?
  • ??
  • cf?=?ConfigParser.ConfigParser()?
  • ??
  • #read?config?
  • cf.read("test.conf")?
  • ??
  • #?return?all?section?
  • secs?=?cf.sections()?
  • print?'sections:',?secs?
  • ??
  • opts?=?cf.options("sec_a")?
  • print?'options:',?opts?
  • ??
  • kvs?=?cf.items("sec_a")?
  • print?'sec_a:',?kvs?
  • ??
  • #read?by?type?
  • str_val?=?cf.get("sec_a",?"a_key1")?
  • int_val?=?cf.getint("sec_a",?"a_key2")?
  • ??
  • print?"value?for?sec_a's?a_key1:",?str_val?
  • print?"value?for?sec_a's?a_key2:",?int_val?
  • ??
  • #write?config?
  • #update?value?
  • cf.set("sec_b",?"b_key3",?"new-$r")?
  • #set?a?new?value?
  • cf.set("sec_b",?"b_newkey",?"new-value")?
  • #create?a?new?section?
  • cf.add_section('a_new_section')?
  • cf.set('a_new_section',?'new_key',?'new_value')?
  • ??
  • #write?back?to?configure?file?
  • cf.write(open("test.conf",?"w"))?
  • ?
    得到終端輸出:
    sections: ['sec_b', 'sec_a']?
    options: ['a_key1', 'a_key2']?
    sec_a: [('a_key1', "i'm value"), ('a_key2', '22')]?
    value for sec_a's a_key1: i'm value?
    value for sec_a's a_key2: 22?

    更新后的test.conf

  • [sec_b]?
  • b_newkey?=?new-value?
  • b_key4?=?127.0.0.1?
  • b_key1?=?121?
  • b_key2?=?b_value2?
  • b_key3?=?new-$r?
  • ??
  • [sec_a]?
  • a_key1?=?i'm?value?
  • a_key2?=?22?
  • ??
  • [a_new_section]?
  • new_key?=?new_value?

  • 4.Python的ConfigParser Module中定義了3個(gè)類(lèi)對(duì)INI文件進(jìn)行操作。分別是RawConfigParser、ConfigParser、SafeConfigParser。RawCnfigParser是最基礎(chǔ)的INI文件讀取類(lèi),ConfigParser、SafeConfigParser支持對(duì)%(value)s變量的解析。?
    ?
    設(shè)定配置文件test2.conf

  • [portal]?
  • url?=?http://%(host)s:%(port)s/Portal?
  • host?=?localhost?
  • port?=?8080?

  • 使用RawConfigParser:

  • import?ConfigParser?
  • ?
  • cf?=?ConfigParser.RawConfigParser()?
  • ?
  • print?"use?RawConfigParser()?read"?
  • cf.read("test2.conf")?
  • print?cf.get("portal",?"url")?
  • ?
  • print?"use?RawConfigParser()?write"?
  • cf.set("portal",?"url2",?"%(host)s:%(port)s")?
  • print?cf.get("portal",?"url2")?

  • 得到終端輸出:
    use RawConfigParser() read?
    http://%(host)s:%(port)s/Portal?
    use RawConfigParser() write?
    %(host)s:%(port)s

    改用ConfigParser:

  • import?ConfigParser?
  • ?
  • cf?=?ConfigParser.ConfigParser()?
  • ?
  • print?"use?ConfigParser()?read"?
  • cf.read("test2.conf")?
  • print?cf.get("portal",?"url")?
  • ?
  • print?"use?ConfigParser()?write"?
  • cf.set("portal",?"url2",?"%(host)s:%(port)s")?
  • print?cf.get("portal",?"url2")?

  • 得到終端輸出:
    use ConfigParser() read?
    http://localhost:8080/Portal?
    use ConfigParser() write?
    localhost:8080

    改用SafeConfigParser:

  • import?ConfigParser?
  • ?
  • cf?=?ConfigParser.SafeConfigParser()?
  • ?
  • print?"use?SafeConfigParser()?read"?
  • cf.read("test2.conf")?
  • print?cf.get("portal",?"url")?
  • ?
  • print?"use?SateConfigParser()?write"?
  • cf.set("portal",?"url2",?"%(host)s:%(port)s")?
  • print?cf.get("portal",?"url2")?

  • 得到終端輸出(效果同ConfigParser):
    use SafeConfigParser() read?
    http://localhost:8080/Portal?
    use SateConfigParser() write?
    localhost:8080?

    轉(zhuǎn)載于:https://www.cnblogs.com/iplus/archive/2013/03/29/4489943.html

    總結(jié)

    以上是生活随笔為你收集整理的Python ConfigParser的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。