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")
原文地址:https://www.cnblogs.com/currynashinians000/p/8650236.html