zoukankan      html  css  js  c++  java
  • python基础-------模块与包(四)

          configparser模块与 subprcess

    利用configparser模块配置一个类似于 windows.ini格式的文件可以包含一个或多个节(section),每个节可以有多个参数(键=值)。

    配置成这样一个文件

    [DEFAULT]
    ServerAliveInterval = 45
    Compression = yes
    CompressionLevel = 9
    ForwardX11 = yes

    [bitbucket.org]
    User = hg

    [topsecret.server.com]
    Port = 50022
    ForwardX11 = no

    用Python中的confiparser模块

    import configparser
    # cfp=configparser.ConfigParser() # {}
    # cfp["DEFAULT"]={"ServerAliveInterval":45,"Compression":"YES","CompressionLevel":9,"ForwardX11":"YES"}
    # cfp["bitbucket.org"]={"USER":"hg"}
    # cfp["topsecret.server.com"]={"Port ":5000123,"ForwardX11 ":"no"}
    # with open("cfp.ini","w") as f:
    # cfp.write(f)

    读的操作:

    import configparser

    cfp=configparser.ConfigParser()

    cfp.read("cfp.ini")

    ################################################

    # print(cfp.sections()) # 查相应字段的操作
    # print("topsecret.server.coms" in cfp)

    for key in config['bitbucket.org']: # 注意,有default会默认default的键

    print(key)

    print(config.options('bitbucket.org')) # 同for循环,找到'bitbucket.org'下所有键

    print(config.items('bitbucket.org')) #找到'bitbucket.org'下所有键值对

    print(config.get('bitbucket.org','compression')) # yes get方法取深层嵌套的值

    当我们需要调用系统的命令的时候,最先考虑的os模块。用os.system()和os.popen()来进行操作。但是这两个命令过于简单,不能完成一些复杂的操作,如给运行的命令提供输入或者读取命令的输出,判断该命令的运行状态,管理多个命令的并行等等。这时subprocess中的Popen命令就能有效的完成我们需要的操作。

    import subprocess

    s=subprocess.Popen("dir",shell=True,stdout=subprocess.PIPE)#在windos下必须得配置shell=True

    print(s.stdout.read().decode("gbk"))

    在linux下:

    import subprocess

    subprocess.Popen('ls -l',shell=True)

    subprocess.Popen(['ls','-l'])
  • 相关阅读:
    Effective Scala
    逻辑思维题之分桃问题
    pygame for python3.3
    java学习笔记一
    xmapp的安装
    逻辑思维题之轮流问题
    串口通信
    基于java的socket编程
    使用PHP搭建书虫网站
    逻辑思维题之时针分针秒针问题
  • 原文地址:https://www.cnblogs.com/niubin/p/7087381.html
Copyright © 2011-2022 走看看