zoukankan      html  css  js  c++  java
  • configparser操作配置文件,shutil高级文件处理,subprocess系统命令,logging日志

    import configparser

    con = configparser.ConfigParser()
    con.read("ini", encoding="utf-8") # 打开读取文件放进内存
    """
    [tom]#节点
    age = 121
    gener : man
    [jim]#
    age = 15
    gener : woman
    """ # ini,不加“”,‘’,默认都是字符串
    print(con.sections()) # 获取节点
    print(con.options("tom")) # 获取指定节点的key
    print(con.items("jim")) # 获取指定节点的键值对
    print(con.get("jim", "age")) # 指定节点指定key的值
    # con.getint()转换各种类型
    # con.getfloat()
    # con.getboolean()
    # con.has_section()检查
    con.add_section("curry") # 增加
    con.write(open("int", "w"))
    # con.remove_section()删除
    # con.set() # 设置
    import shutil

    shutil.copyfileobj(open("h1.txt", "r"), open('h2.txt', "w")) # 将文件内容拷贝到另一个文件中
    shutil.copyfile("h1.txt", "h2.txt") # 拷贝文件
    shutil.copymode() # 仅拷贝权限
    shutil.copystat() # 拷贝状态的信息
    shutil.copy() # 拷贝文件和权限
    shutil.copy2() # 拷贝文件和状态信息
    shutil.copytree("h3", "h4", ignore=shutil.ignore_patterns("*.pyc", "tmp*")) # 递归的拷贝文件夹
    # 把h3,拷贝到h4,除了。pyc结尾和tmp开头
    shutil.rmtree() # 递归的删除文件
    import zipfile # shutil压缩包是调用的zipfile,和tarfile

    z = zipfile.ZipFile(".zip", "a")
    z.write("h1") # 添加压缩
    z.close()
    z = zipfile.ZipFile(".zip", "r")
    z.extractall() # 解压
    z.close()
    import tarfile

    z = tarfile.open("", "w")
    z.add("c:bbs.txt", arcname="bbs1.txt") # 添加压缩,改名
    z = tarfile.open("", "r")
    z.extractall() # 解压
    z.close()
    import subprocess
    #专门用于python执行系统命令
    # subprocess.call(["mkdir test"])
    # subprocess.check_call("ipconfig")
    # subprocess.check_output("mkdir test")
    # subprocess.Popen("mkdir")#复杂命令
    import logging
    #多线程不会写脏数据
    logging.basicConfig(filename='log.log',
    format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S %p',
    level=10)#错误等级,最好写成level=logging.DEBUG。。。
    """CRITICAL = 50
    FATAL = CRITICAL
    ERROR = 40
    WARNING = 30
    WARN = WARNING
    INFO = 20
    DEBUG = 10
    NOTSET = 0"""
    logging.debug('debug')
    logging.info('info')
    logging.warning('warning')
    logging.error('error')
    logging.critical('critical')
    logging.log(logging.DEBUG, 'log')
    #创建文件
    f1 = logging.FileHandler("f1.log","a")
    #创建格式
    f1s = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")
    #应用格式
    f1.setFormatter(f1s)
    #创建第二个文件
    f2 = logging.FileHandler("f2.log","a")
    f2s = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s")
    f2.setFormatter(f2s)
    log1 = logging.Logger("s1",level=logging.ERROR)
    log1.addHandler(f1)
    log1.addHandler(f2)
    #写日志
    log1.critical("11")
  • 相关阅读:
    备份恢复八大核心
    ORACLE CentOS5.6安装
    ORA-00205
    sf02_选择排序算法Java与Python实现
    解决SQL命令行回退的问题
    redhat 6.4 yum 本地配置简记
    ORA-12705: Cannot access NLS data files or invalid environment specified
    asmca无法创建ASM磁盘
    Sort List
    Merge k Sorted Lists
  • 原文地址:https://www.cnblogs.com/currynashinians000/p/8650236.html
Copyright © 2011-2022 走看看