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")
  • 相关阅读:
    Dockerfile-ADD命令-转载
    华为云上上传镜像到在线镜像仓库
    什么是4D(DRG、DLG、DOM、DEM)数据
    视频对接资料
    OpenLayer改变切片地图的样式-滤镜效果
    Docker-挂载宿主机目录到容器
    RTSP在线视频环境搭建2-海康摄像头
    配置自己风格的Clang-Format-Xcode
    GCDAsyncUdpSocket的使用
    react-native component function
  • 原文地址:https://www.cnblogs.com/currynashinians000/p/8650236.html
Copyright © 2011-2022 走看看