1.configparser模块

该模块是用来对文件进行读写操作,适用于格式与Windows ini 文件类似的文件,可以包含一个或多个节(section),每个节可以有多个参数(键值对)

配置文件的格式如下:

[DEFAULT]
serveralagas = 24
asdgasg = yes
sdg = 123 [hello]
user = hd [world]
what = fuck

 这种文件格式就像是一个大字典,每个标题就是一个key,字典中嵌套着字典

  还有需要注意的是,[DEFAULT]中的键值对是公用的,[DEFAULT]可以不写

怎样由Python中写入这样一个文件呢?

import configparser

cfp=configparser.ConfigParser()  #就是一个空字典

cfp['DEFAULT']={"serveralagas":24,"asdgasg":'yes',"sdg":123}

cfp['hello']={'user':'hd'}

cfp['world']={'what':'fuck'}

with open('cfp.ini','w')as f:
cfp.write(f)

读取文件内容

#读取文件

import configparser

config=configparser.ConfigParser()
config.read('cfp.ini') #查看所有标题
res=config.sections()
print(res) #['hello', 'world'] #查看标题hello下的所有键值对的key
options=config.options('hello')
print(options) #['user', 'serveralagas', 'asdgasg', 'sdg'] #查看标题hello下的所有键值对的(key,value) 格式
item_list=config.items('hello')
print(item_list) #[('serveralagas', '24'), ('asdgasg', 'yes'), ('sdg', '123'), ('user', 'hd')] #以字符串的形式查看hello标题下user的值
val=config.get('hello','user')
print(val) #hd #上面那条命令,get可以改成getint,查看整数格式,改成getboolean,查看布尔值格式
#改成getfloat查看浮点型格式

修改文件内容

import configparser

config=configparser.ConfigParser()
config.read('cfp.ini') #删除整个标题hello
config.remove_section('hello') #删除标题world下的what
config.remove_option('world','what') #判段是否存在某个标题
print(config.has_section('hello')) #判断标题world下是否有user
print(config.has_option('world','user')) #添加一个标题
config.add_section('zhang')  #如果已经存在则会报错 #在标题下添加name=zhang,age=18的配置
config.set('zhang','name','zhang')
config.set('zhang','age',18)#会报错,TypeError: option values must be strings
# 必须是字符串形式 #将修改后的内容写入文件,完成最后的修改
config.write(open('cfp.ini','w'))

2.subprocess模块

这个模块允许一个进程创建一个新的子进程,通过管道连接到子进程的stdin/stdout/stderr,并获取子进程的返回值等操作

这个模块只有一个Popen类

import subprocess

#创建一个新的进程,与主进程不同步s=subprocess.Popen('dir',shell=True)
#s是Popen的一个实例化对象s.wait() #手动控制子进程的执行稍后一点print('ending')  #主进程的命令
#当然在父进程中还可以对子进程有更多的操作
s.poll() #查看子进程的状态
s.kill() #终止子进程
s.send_signal()#向子进程发送信号
s.terminate() #终止子进程

还可以在Popen()建立子进程的时候改变标准输入、标准输出和标准错误,并用subprocess.PIPE将多个子进程的输入输出连接在一起,构成管道

import subprocess

s1=subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE)
print(s1.stdout.read())

Python基础之常用模块(三)的更多相关文章

  1. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  2. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  3. Python全栈开发之路 【第六篇】:Python基础之常用模块

    本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...

  4. Python基础之--常用模块

    Python 模块 为了实现对程序特定功能的调用和存储,人们将代码封装起来,可以供其他程序调用,可以称之为模块. 如:os 是系统相关的模块:file是文件操作相关的模块:sys是访问python解释 ...

  5. python基础之常用模块以及格式化输出

    模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

  6. Day5 - Python基础5 常用模块学习

    Python 之路 Day5 - 常用模块学习   本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...

  7. Python基础之常用模块

    一.time模块 1.时间表达形式: 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: 1.1.时间戳(timestamp) :通常来说,时间 ...

  8. Python基础5 常用模块学习

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  9. python基础(11)-常用模块

    re(正则)模块 常用方法 findall() 以列表返回所有满足条件的结果 import re print(re.findall('\d','a1b2c2abc123'))#['1', '2', ' ...

随机推荐

  1. 在eclipse中输入.后提示解决

    1.调用系统自带的提示: 如果在eclipse中输入.后没有提示对应对象的属性和方法帮助列表,可以进行以下设置就可以了 eclipse -> Window-> Preferences-&g ...

  2. cef3和duilib简单仿有道词典学习

    由于最近换工作的原因,也没啥事,就简单学习了一下cef3和duilib,楼主之前是做MFC框架下的windows开发的,对界面库和新的客户端开发模式也有所了解,现在的大部分客户端都是基本的客户端框架下 ...

  3. 常见的Message Queue应用场景

    在最近的工作的里面有同事问到我说,为什么我们需要一个Message Queue,Message Queue可以在哪些地方用,经过一些整理,大概能找到这些点,假如你有这方面的要求,也可以考虑使用Mess ...

  4. Python中如何调用Linux命令

    一.使用os模块 In [1]: import os #导入os模块 In [2]: os.system('ls') anaconda-ks.cfg epel-release-7-5.noarch.r ...

  5. colinux

    Colinux是什么?2004年,由一名21岁的以色列学生与几名日本的自由程序员合作开发出了一个名为“Cooperative Linux”即“CoLinux”的Linux程序,该程 序可使Linux的 ...

  6. DOM事件类型总结大全

    unload:事件在用户退出页面时发生 window.onload = function(){ return "页面关闭!"; }; onblur:失去焦点发生变化 window. ...

  7. 基于android的语音识别

    1.注册账户,添加应用 2.针对android平台的选择应用,下载SDK 3.将SDK的libs下文件拷贝到工程的libs目录下 4.添加用户权限 <uses-permission androi ...

  8. 匿名属性 anonymous property

    利用匿名属性可以用很简洁的语法来自动声明不可变(immutable)的元组(tuple)类型. 属性:在字段用来表示类型和对象的状态的前提下,希望状态不被随意的更改,字段一般应该设置为private, ...

  9. Java IO学习笔记六

    打印流 在整个IO包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWrite).打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数 ...

  10. Python模块之subprocess--使用Popen来调用系统命令

    当我们需要调用系统的命令的时候,最先考虑的os 模块.用os.system()和os.popen()来进行操作.但是这两个命令过于简单,不能完成一些复杂的操作,如给运行的命令提供输入或者读取命 令的输 ...