subprocess(cmd命令)模块 && configerparser模块(配置ini文件)

1.调用cmd命令,并在打印台输出   

subprocess.Popen() 参数解释:

cmd_str: cmd命令

shell=True : 调用shell解释器解释cmd命令

stdout=subprocess.PIPE: 输出正确的数据存放在此内存数据类型PIPE中

stderror=subprocess.PIPE: 输出错误的数据存放在此内存数据类型PIPE中

import subprocess
while True:
    cmd_str = input('请输入终端命令:').strip()
    obj = subprocess.Popen(                   #固定写法
        cmd_str, shell=True,
        stdout=subprocess.PIPE,               #pipe(管道)是内存中的一种数据类型,将数据存放在内存管道中
        stderr=subprocess.PIPE
    )
    sucess = obj.stdout.read().decode('gbk')   #原本是gbk   s.decode('gbk')   是把gbk格式转化为 unicode
    if sucess:
        print('打印成功')
    error = obj.stderr.read().decode('gbk')   # 打印错误消息
    if error:
        print('打印失败')

 2.configparser模块

作用:.ini 配置文件的操作

my.ini

[mysql]
charater-server-set = 'utf8'
default-engine = 'innodb'
port = 3306
boolll = True

[client]
user ='root'
password = '123'
View Code

代码:

mport configparser
config = configparser.ConfigParser()
config.read('my.ini')
print(config.sections())  #['mysql', 'client']
print(config.options('mysql')) #['charater-server-set', 'default-engine', 'port']
print(config.get('mysql','port'))
print(type(config.get('mysql','port')))   #'str'

#判断某个节点是否有某个属性
if  config.has_option('mysql','aaa'):
    print(config.get('mysql','aaa'))

#get方法取出的值都是str类型
print(config.getint('mysql','port'))
print(config.getboolean('mysql','boolll'))


#文件写的方法 或覆盖
config.add_section('egon')
config.set('egon','name','egon')
#config是在内存中所以直接覆盖
config.write(open('my.ini','w',encoding='utf-8'))
原文地址:https://www.cnblogs.com/bigbox/p/11892370.html