在代码中经常会通过ini文件来配置一些常修改的配置。下面通过一个实例来看下如何写入、读取ini配置文件.

需要的配置文件是:

 [path]
back_dir = /Users/abc/PycharmProjects/Pythoncoding/projects/
target_dir = /Users/abc/PycharmProjects/Pythoncoding/ [file]
back_file = apitest

下面是具体实现:

 import os
import time
import configparser
# back_path = "/Users/abc/PycharmProjects/Pythoncoding/projects/"
# back_file ="hello.txt"
# 可以写为读取配置文件
# 第一步:创建conf对象
conf = configparser.ConfigParser()
# 第二步:添加section、options的值
conf.add_section("path")
conf.set("path","back_dir","/Users/abc/PycharmProjects/Pythoncoding/projects/") # option
conf.set("path","target_dir","/Users/abc/PycharmProjects/Pythoncoding/") # option
conf.add_section("file")
conf.set("file","back_file","apitest") # 第三步:写入文件
with open("path.ini",'w')as conffile:
conf.write(conffile) # 第四步:读取配置文件中的section、options的值
back_dir =conf.get('path','back_dir')
back_file =conf.get("file","back_file")
target_dir =conf.get("path","target_dir") # 执行zip压缩命令,将apitest目录下所有文件打包压缩
source =[back_dir,back_file]
target_file=target_dir+time.strftime("%Y%m%d%H%M%S")+'.zip'
zip_commond ="zip -qr \"%s\" \"%s\""%(target_file,''.join(source))
print(zip_commond)
if os.system(zip_commond)==0:
print('Successful backup to',target_file)
else:
print('Backup Failed')
 print(conf.sections())
#['path', 'file'] print(conf.options('path'))
#['back_dir', 'target_dir'] print(conf.items('path'))
#[('back_dir', '/Users/abc/PycharmProjects/Pythoncoding/projects/'), ('target_dir', '/Users/abc/PycharmProjects/Pythoncoding/')]

笔记:

模块常用函数:
1)读取配置文件
read(filename) 直接读取ini文件内容
sections() 得到所有的section,并以列表的形式返回
options(section) 得到该section的所有option
items(section) 得到该section的所有键值对
get(section,option) 得到section中option的值,返回为string类型
getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。
2)写入配置文件
add_section(section) 添加一个新的section
set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件。

python3笔记-读取ini配置文件的更多相关文章

  1. 转 python3 读取 ini配置文件

    在代码中经常会通过ini文件来配置一些常修改的配置.下面通过一个实例来看下如何写入.读取ini配置文件. 需要的配置文件是: 1 [path] 2 back_dir = /Users/abc/Pych ...

  2. Python读取ini配置文件(接口自动测试必备)

    前言 大家应该接触过.ini格式的配置文件.配置文件就是把一些配置相关信息提取出去来进行单独管理,如果以后有变动只需改配置文件,无需修改代码. 特别是后续做自动化的测试,代码和数据分享,进行管理.比如 ...

  3. bat 读取 ini 配置文件

    bat 读取 ini 配置文件 config.ini: abc=abc a=a localpath=D:\local\path .bat: @echo off setlocal enabledelay ...

  4. python读取ini配置文件的示例代码(仅供参考)

    这篇文章主要介绍了python读取ini配置文件过程示范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装 pip install configp ...

  5. 读取ini配置文件 及 UI对象库

    读取ini配置文件 配置项 读取API 写入API 实战:UI 对象库 读取ini配置文件 配置项 在每个 ini 配置文件中,配置数据会被分组(比如下述配置文件中的"config" ...

  6. 【python3】configparser读取ini配置文件

    在应用过程中,发现下面这个问题: cf=configparser.ConfigParser()读取配置文件时,如果数据包含%这们析特殊符号,就会报出上面的错误,使用cf = configparser. ...

  7. Python读取ini配置文件的方式

    python configparser模块   ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...

  8. C# 读取Ini配置文件类

    配置文件 为fileName.ini 的文件 第一行必须为空,不然读不出值 [section1] key=value key2=value ......... [section2] key=value ...

  9. 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...

随机推荐

  1. Elasticsearch权威指南(中文版)

    Elasticsearch权威指南(中文版) 下载地址: https://pan.baidu.com/s/1bUGJmwS2Gp0B32xUyXxCIw 扫码下面二维码关注公众号回复100010 获取 ...

  2. alpine 容器优化

    摘要:alpine容器一直是使用得比较多的,而且也是官方推荐使用的.但是官方的容器会有一些不方便的地方,比如安装软件, 时区不同等. 所以本文旨在完成一个alpine容器通用模板作为记录   # 导入 ...

  3. 微信小程序--家庭记账小账本(四)

    今天的进展不太顺利,总的账单表,代码改了又改,最后决定用一个新的表,账单界面中弄了一天删除,发现都无法实现想要的效果,于是把账单界面的删除功能去了,就感觉大功告成的时候,发现收入和支出界面的删除也出现 ...

  4. Spring学习之——手写Spring源码V2.0(实现IOC、D、MVC、AOP)

    前言 在上一篇<Spring学习之——手写Spring源码(V1.0)>中,我实现了一个Mini版本的Spring框架,在这几天,博主又看了不少关于Spring源码解析的视频,受益匪浅,也 ...

  5. springboot中redis的缓存穿透问题

    什么是缓存穿透问题?? 我们使用redis是为了减少数据库的压力,让尽量多的请求去承压能力比较大的redis,而不是数据库.但是高并发条件下,可能会在redis还没有缓存的时候,大量的请求同时进入,导 ...

  6. C++socket编程write()、read()简介及与send()、recv()的区别

    1. write 函数原型:ssize_t write(int fd, const void*buf,size_t nbytes)write函数将buf中的nbytes字节内容写入文件描述符fd.成功 ...

  7. Vue Vue-loader / VueLoaderPlugin / Webpack

    在不用VueCli创建项目的时候,手写引入vue的时候,配置webpack的时候发现了这个问题 webpack vue-loader was used without the correspondin ...

  8. PostgreSQL在没有备份情况下误删除Clog恢复

    创建实验表postgres# create table t (n_id int primary key,c_name varchar(300));CREATE TABLEpostgres# inser ...

  9. excel如何复制筛选内容

    https://jingyan.baidu.com/article/ca00d56c75b7e5e99eebcf3c.html

  10. Javascript之其实我觉得原型链没有难的那么夸张!

    原型链.闭包.事件循环等,可以说是js中比较复杂的知识了,复杂的不是因为它的概念,而是因为它们本身都涉及到很多的知识体系.所以很难串联起来,有一个完整的思路.我最近想把js中有点意思的知识都总结整理一 ...