day6 ConfigParser模块 yaml模块

    yaml模块:

python可以处理yaml文件,yaml文件安装的方法为:$ pip3 install pyyaml

   configparser模块,用来处理文件的模块,可以实现文件的增删改查

configparser用于处理特定格式的文件,其本质上是利用open来操作文件

下面来看看configarser模块的功能:

[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[bitbucket.org]
user = hg

[topsecret.server.com]
host port = 50022
forwardx11 = no

上面代码格式就是configparser的常见格式,这中文件格式在有些地方很常见。

import configparser

config = configparser.ConfigParser()
config["DEFAULT"] = {"ServerAliveInterval":"45",
                     "compression":"yes",
                     "CompressionLevel":"9"}

config["bitbucket.org"] = {}
config["bitbucket.org"]["user"] = "hg"
config["topsecret.server.com"] = {}      #定义一个空的字典
topsecret = config["topsecret.server.com"]   #把空的字典赋值给topsecret,生成一个空字典
topsecret["Host Port"] = "50022"            #给字典添加键值对
topsecret["Forwardx11"] = "no"
config["DEFAULT"]["Forwardx11"] = "yes"
with open("config_file.ini","w") as configfile:
    config.write(configfile)

运行如下:
[DEFAULT]serveraliveinterval = 45compression = yescompressionlevel = 9forwardx11 = yes

[bitbucket.org]user = hg

[topsecret.server.com]host port = 50022forwardx11 = no

从上面代码可以看出,其文件的格式类似于字典的形式,包含keys和values类型,我们首先要定义一个configparser的文件,然后往文件中添加键值对。如上面代码所示:

上面我们把字典写进文件之后,如何读取呢?下面来看看configparser.ConfigParser的文件操作:

    读取:

>>> import configparser
  >>> config = configparser.ConfigParser()           #定义一个文件信息
  >>> config.sections()
  []

  >>> config.read(‘example.ini‘)

  [‘example.ini‘]

    >>> config.sections()

[‘bitbucket.org‘, ‘topsecret.server.com‘]

下面来看看configparser模块中文件的增删改查:

import configparser

config = configparser.ConfigParser()
config.read("config_file.ini")

#删除文件中的字段
sec = config.remove_section("bitbucket.org")
config.write(open("config_file.ini","w"))

#添加新的字段到文件中
# sec = config.has_section("alex")
# config.add_section("alex")
# config["alex"]["age"] = "21"
# config.write(open("config_file.ini","w"))

#修改字段中的文件信息
config.set("alex","age","28")
config.write(open("config_file.ini","w"))

上面代码的字段中,我们实现了增删改查的功能。要了解文件中的功能即可。并且能够操作,其实很多时候都对文件操作的思路都是相同的,只是实现的方式不一样,代码的写法不一样而已。

时间: 2024-10-19 20:18:20

day6 ConfigParser模块 yaml模块的相关文章

Day26:configparser、subprocess模块

一.configparser模块 该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 1.创建文件 一般软件的常见文档格式如下: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,

25.Python序列化模块,hashlib模块, configparser模块,logging模块,异常处理

一.序列化模块 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文件里,然后另一个python程序再从文件里读出来.但是我们都知道,对于文件来说是没有字典这个概念的,所以我们只能将数据转换成字典放到文件中.你一定会问,将字典转换成一个字符串很简单,就是str(dic)就可以办到了,为什么我们还要学习序列化模块呢?没错序列化的过程就是从dic 变成str(di

pickle\json,configparser,hashlib模块

python常用模块 目录 python常用模块 json模块\pickle模块 configparser模块 hashlib模块 subprocess模块 json模块\pickle模块 首先说一下序列化和反序列化 . 序列化:将数据内容转化成一种特定的格式. 反序列化:将特定的格式在转化成数据内容. 其实我们之前学过序列化和反序列化的方法,即将内存中的数据转化为字符串的格式存进文件中,在从文件中利用eval()的方法反序列化出来.这也是一种方法,但是现在有更方便的方法. json模块是个序列

day6 time和datetime模块

    time模块 time模块提供各种操作时间的函数 #1.时间戳    1970年1月1日之后的秒 #2.元组 包含了:年.日.星期等... time.struct_time #3.格式化的字符串    2014-11-11 11:11     (1)asctime(p_tuple=None) def asctime(p_tuple=None): # real signature unknown; restored from __doc__ """ asctime([t

Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问”魔术方法__call()” 用户访问一个不存在的操作—>解决:给每个控制器都定义个_empty()方法来处理 第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处理__autoloa

USB加密锁htfs 2001全模块(七模块全部正常使用)

soft\8\GC-PowerStation.v5.2.2\HYPROTECH HTFS 2001\ILOG_CPLEX_V9.0\ILOG_OPL_STUDIO_V3.7\ILOG_SOLVER_V6.0\Laker 32 v3 Linux 1CD\PCBM_LP_Provisional_V701A\PDSOFT2.5 中科辅龙 最新版\Thermoflow v13.0 Edition 2004\ 免狗的最低1500元Thermoflow v13.0 Edition 2004加密锁_USB运行

AngularJS之基础-3 控制器(基本语法)、模块(使用模块注册控制器)

一.基本语法 基本概念 - ng-controller function controllerName($scope,$http,$element){} $scope $http - $http.get(url).sucess(function(result){}) 定义基本数据类型 - $scope.Name = "John" - $scope.Email = [email protected] - $scope.Age = 30 定义对象属性 定义方法 二.模块 使用模块注册控制器

插件模块与模块之间的通信(转)

插件模块与模块之间的通信 在这里做个代码备注 防止下次忘记...using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Windows; using System.Windows.Controls; using System.Windows.Forms; using MessageBox = System.Wi