注意事项:
1.读文件:
read(filename):读取ini文件中的内容
sections():得到所有section,返回列表形式
options(section):得到给定section的所有option
items(section):得到指定section的所有key-value
get(section,option):得到section中的option值,返回str类型
get(section,option):得到section中的option值,返回int类型
2.写文件:
add_section(sectionname):添加一个名为sectionname的新section
set(sectionname,option,value):设置sectionname的option和value的值
    注意:最后要使用write把内容写入ini文件:write(open(filenama,'wb'))

直接贴出代码来:

  1. #coding=utf-8
  2. '''
  3. Created on 2015.10.30
  4. ini配置文件读写的使用
  5. '''
  6. import ConfigParser
  7. iniFileUrl="conf.ini"
  8. conf=ConfigParser.ConfigParser() #生成conf对象
  9. conf.read(iniFileUrl) #读取ini配置文件
  10. def readConfigFile():
  11. """
  12. sections:配置文件中[]中的值
  13. options:每组中的键
  14. items:键-值的列表形式
  15. """
  16. # 获取每组类型中的section值
  17. sections = conf.sections() # 获取所有sections
  18. print "---conf.ini文件中的section内容有:", sections
  19. # 获取每行数据的键即指定section的所有option
  20. print "---group_a的所有键为:", conf.options("group_a")
  21. print "---group_b的所有键为:", conf.options("group_b")
  22. # 获取指定section的所有键值对
  23. print "---group_a的所有键-值为:", conf.items("group_a")
  24. # 指定section,option读取具体值
  25. print "---group_a组的a_key1值为:", conf.get("group_a", "a_key1")
  26. print "---group_b组的b_key1值为(取整数类型):", conf.getint("group_b", "b_key1")
  27. def writeConfigFile():
  28. """
  29. 根据分组名、键名修改为新键值
  30. @param sections: section分组名
  31. @param key: 分组中的key
  32. @param newvalue: 需要修改后的键值
  33. """
  34. conf.set("group_b", "b_key3", "new3") #指定section和option则更新value
  35. conf.set("group_b", "b_key5", "value5") #指定section,则增加option和value
  36. conf.add_section("group_d") #添加section组
  37. conf.set("group_d", "d_key1", "value1") #给添加的section组增加option-value
  38. #写回配置文件
  39. conf.write(open(iniFileUrl, "wb"))
  40. readConfigFile()
  41. writeConfigFile()
  42. '''
  43. 运行结果:
  44. ---conf.ini文件中的section内容有: ['group_a', 'group_b', 'group_c']
  45. ---group_a的所有键为: ['a_key1', 'a_key2']
  46. ---group_b的所有键为: ['b_key1', 'b_key2', 'b_key3', 'b_key4', 'b_key5']
  47. ---group_a的所有键-值为: [('a_key1', '20'), ('a_key2', '10')]
  48. ---group_a组的a_key1值为: 20
  49. ---group_b组的b_key1值为(取整数类型): 121
  50. '''
附赠conf.ini文件:
[group_a]
a_key1 = 20
a_key2 = 10
 
[group_b]
b_key1 = 121
b_key2 = b_value2
b_key3 = new3
b_key4 = 127.0.0.1
b_key5 = value5
 
[group_c]

c_key1 = value1

 
[group_d]
d_key1 = value1

python-ini文件使用(读和写)的更多相关文章

  1. Python 2.7.9 Demo - ini文件的读、写

    ini文件 [weixin_info] hello = Nick Huang #coding=utf-8 #!/usr/bin/python import ConfigParser; cp = Con ...

  2. python中文件的读和写操作

    一.打开文件 data = open("yesterday",encoding="utf-8").read() # python默认的打字符编码是unicode ...

  3. python学习------文件的读与写

    f=open("yesterday","r",encoding="utf-8") #文件句柄 data=f.read() data2=f.r ...

  4. Python之文件的读

    python中文件的读操作:以只读的形式打开文件->逐行读取文件中的内容->关闭文件 代码如下 #文件的读 f = file(u'F:\\python\\homework.txt', 'r ...

  5. java 安卓开发之文件的读与写

    java文件的读与写,代码: String file="user.txt"; private void writeFileData(String str1, String str2 ...

  6. python文件处理-读、写

    Python中文件处理的操作包括读.写.修改,今天我们一起来先学习下读和写操作. 一.文件的读操作 例一: #文件读操作 f = open(file="first_blog.txt" ...

  7. python3中文件的读与写

    Python open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出错误 完整语法:open(file, mode='r', buf ...

  8. python ini文件内容的读取

    (1)新建一个项目,再次新建一个文件 test_cfg.ini (2)再次新建 get_test_cfg.py,用来读取/写入/更改 ini的文件内容 #!/usr/bin/env python # ...

  9. day5_函数_文件读写_用一个函数来满足文件的读或者写_应用默认参数

    import json def op_file_tojson(filename,dic=None): #默认值参数,根据是否传dic字典来判断读还是写 if dic: #如果dic传了值,不是空的,则 ...

随机推荐

  1. Mac系统下adb工具的配置

    sudo vim ~/.bash_profile 增加如下内容 ANDROID_HOME=/Users/apple/Library/Android/sdk export PATH=$PATH:$AND ...

  2. 递推-练习2--noi3525:上台阶

    递推-练习2--noi3525:上台阶 一.心得 二.题目 3525:上台阶 总时间限制:  1000ms 内存限制:  65536kB 描述 楼梯有n(100 > n > 0)阶台阶,上 ...

  3. Model/ModelMap 和 ModelAndView 的区别使用

    Model/ModelMap 和 ModelAndView 的区别使用 Model/ModelMap controller: package springmvc.controller; import ...

  4. Tornado源码分析 --- 静态文件处理模块

    每个web框架都会有对静态文件的处理支持,下面对于Tornado的静态文件的处理模块的源码进行分析,以加强自己对静态文件处理的理解. 先从Tornado的主要模块 web.py 入手,可以看到在App ...

  5. 各种排序算法思想复杂度及其java程序实现

    一.冒泡排序(BubbleSort)1. 基本思想: 设排序表长为n,从后向前或者从前向后两两比较相邻元素的值,如果两者的相对次序不对(A[i-1] > A[i]),则交换它们, 其结果是将最小 ...

  6. JS中constructor与prototype关系概论

    在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下:     我们都知道,在JS中有一个function的东西. ...

  7. lvs+keepalived+bind实现负载均衡高可用智能dns【转】

    转:https://www.cnblogs.com/mikeluwen/p/7068356.html 整体架构: 1.IP地址规划: Dns1:172.28.0.54 Dns2:172.28.0.55 ...

  8. HDU 1495 非常可乐 bfs 难度:1

    http://acm.hdu.edu.cn/showproblem.php?pid=1495 第三个杯子的盛水量可由前两个杯子得到,而前两个杯子状态总数在100*100以内,穷举可实现 #includ ...

  9. 一个自动化测试工具 UI Recorder

    链接 教程 UI Recorder 是一款零成本UI自动化录制工具,类似于Selenium IDE. UI Recorder 要比Selenium IDE更加强大! UI Recorder 非常简单易 ...

  10. MAC 下编译 ANDROID P 源码 提示 internal error: Could not find a supported mac sdk: ["10.10" "10.11" "10.12" "10.13"]

    MAC 下编译 ANDROID P 源码出现下面的问题: ninja: no work to do. [21/21] out/soong/.bootstrap/bin/soong_build out/ ...