os模块

通过os模块我们可以与操作系统交互, 控制文件和文件夹

对文件夹操作

# 判断是否为文件夹
os.path.isdir() # 创建文件夹
os.mkdir() # 删除文件夹
os.rmdir() # 列出文件夹内所有文件(返回列表)
os.listdir() # 当前文件所在文件夹路径
os.getcwd() # 所在文件夹的路径
os.path.dirname() # 拼接文件路径
res = os.path.join(r'C:\Users\Black\Documents\Python learning', 'test', 'test.py')
print(res) # C:\Users\Black\Documents\Python learning\test\test.py # 判断路径是否存在
os.path.exists()

对文件进行操作

# 判断是否为文件
os.path.isfile() # 删除文件
os.remove() # 重命名文件
os.rename(原来, 现在) # 获取文件路径
os.path.abspath(__file__)

sys模块

# 命令行参数List,第一个元素是程序本身路径
res = sys.argv # 返回所有已经导入的模块列表
sys.modules.keys()

json 和pickle模块

  • 序列化: 把对象(变量)从内存中变成可存储或传输的过程称之为序列化

  • 优点: 可持久保存; 跨平台数据交互

  • python数据类型---序列化---> json串

  • json串---反序列化---> python数据类型

  • 注意: 1. 处理文件时用dump 和 load, 其他情况用dumps 和 loads

    ​ 2. json串中只有双引号

  • pickle 只能用于Python, 但是可以存储Python中所有的数据类型

logging模块

日志等级

日志类型 描述 level
DEBUG 最详细的日志信息,典型应用场景是 问题诊断 10
INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作 20
WARNING 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低), 但是此时应用程序还是正常运行的 30
ERROR 由于一个更严重的问题导致某些功能不能正常运行时记录的信息 40
CRITICAL 当发生严重错误,导致应用程序不能继续运行时记录的信息 50

当指定一个日志级别之后, 会记录大于或者等于这个级别的日志信息, 小于的会被丢弃

Python 默认打印级别大于等于30的日志类型

longging模块的四大组件

组件名称 对应类名 功能描述
日志器 Logger 提供了应用程序可一直使用的接口
处理器 Handler 将logger创建的日志记录发送到合适的目的输出
过滤器 Filter 提供了更细粒度的控制工具来决定输出哪条日志记录,丢弃哪条日志记录
格式器 Formatter 决定日志记录的最终输出格式

自定义配置

  1. 定义logger对象
bigb_logger = logging.Logger('bigb')
  1. 设置日志格式
formatter1 =  logging.Formatter('%(asctime)s - %(name)s -%(thread)d - %(levelname)s -%(module)s:  %(message)s',                               datefmt='%Y-%m-%d %H:%M:%S %p ', )
  1. 设置handler
h1 = logging.FileHandler('bigb.log')
  1. 为handler配置格式
h1.setFormatter(formatter1)
  1. 把handler绑定给logger对象
bigb_logger.addHandler(h1)

Python3 常用模块1的更多相关文章

  1. python3 常用模块详解

    这里是python3的一些常用模块的用法详解,大家可以在这里找到它们. Python3 循环语句 python中模块sys与os的一些常用方法 Python3字符串 详解 Python3之时间模块详述 ...

  2. python3 常用模块

    一.time与datetime模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们 ...

  3. Python3常用模块的安装

    1.mysql驱动:mysql-connector-python 1.安装 $ pip3 install mysql-connector-python --allow-external mysql-c ...

  4. Python3 常用模块3

    目录 numpy模块 创建numpy数组 numpy数组的属性和用法 matplotlib模块 条形图 直方图 折线图 散点图 + 直线图 pandas模块 numpy模块 numpy模块可以用来做数 ...

  5. Python3 常用模块2

    目录 time 模块 时间戳形式 格式化时间 结构化时间 time.time() time.sleep() datetime 模块 random 模块 hashlib 模块 和 hmac 模块 typ ...

  6. Python3基础(5)常用模块:time、datetime、random、os、sys、shutil、shelve、xml处理、ConfigParser、hashlib、re

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...

  7. Python3基础笔记--常用模块

    目录: 参考博客:Python 之路 Day5 - 常用模块学习 Py西游攻关之模块 一.time模块 二.random模块 三.os模块 四.sys模块 五.hashlib模块 六.logging模 ...

  8. day--6_python常用模块

    常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...

  9. python基础之常用模块以及格式化输出

    模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

随机推荐

  1. 通过C/C++,实现一元一次方程求解

    通过C/C++,实现一元一次方程求解: #include <bits/stdc++.h> using namespace std; string str, str_l, str_r; st ...

  2. nyoj 255-C小加 之 随机数 (map)

    255-C小加 之 随机数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:15 提交数:18 难度:1 题目描述: ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查, ...

  3. [转发]CSR 量产 烧录 软件

    蓝牙量产软件主要是为了应对蓝牙设备在批量生产时的一些如固件下载,地址下载,名字修改,以及一些辅助测试和检验功能. 目前,CSR推出的蓝牙芯片按照存储介质以及可编程与否分为两大类:ROM版本和Flash ...

  4. python+appium搭建的测试环境

    : 1,安装jdk JDK下载好jdk直接点下一步就可以了,然后开始配置变量classpath, path, Java_home:再运行cmd,并输入Java和javac看输出判断环境变量是否配好了. ...

  5. IDEA最常用快捷键汇总+快速写出Main函数

    IDEA可以说是当下Java程序员日常开发的神器,但是想要发挥这款神器的牛逼威力,必须得熟练使用它的各种快捷键才行.本篇总结下使用IDEA(也就是IntelliJ IDEA )进行日常开发中最常用的快 ...

  6. HTTP 协议漫谈

    转载出处:HTTP 协议漫谈 简介 网络上已经有不少介绍 HTTP 的好文章,对HTTP的一些细节介绍的比较好,所以本篇文章不会对 HTTP 的细节进行深究,而是从够高和更结构化的角度将 HTTP 协 ...

  7. UML组件图

    组件图用于可视化在一个系统中的物理组件.这些组件包括库,程序包,文件等. 组件图 = 构件(Component)+接口(Interface)+关系(Relationship)+端口(Port)+连接器 ...

  8. Vue.js大屏数字滚动翻转效果

    ================================ 大屏数字滚动翻转效果来源于最近工作中element后台管理页面一张大屏的UI图,该UI图上有一个模块需要有数字往上翻动的效果,以下是最 ...

  9. Java数组深入

    Java数组深入 内存中的数组 前边提到:数组是一种引用类型,数组引用变量只是一个引用,当它指向有效内存的时候才可以通过数组变量来访问数组元素,也就是说数组变量和数组元素在内存中是分开放的. 可以这么 ...

  10. urllib练习

    # coding = utf-8 """ 解析https://www.kuaidaili.com/free/网站里的代理地址, 并测试是否可用 ""& ...