Python课堂笔记六

常用模块已经可以在单位实际项目中使用,可以实现运维自动化。无需手工备份文件,数据库,拷贝,压缩。

常用模块

time模块

time.time

time.localtime

time.strftime

os模块:主要针对操作系统的一些方法,如:切换目录

sys模块:跟python解释器交互使用。

shutil模块:针对目录或文件的复制,拷贝,重命名的操作等。

hashlib模块:摘要算法模块.

1.文件的一致性校验

      2.用户的加密认证

3.不可逆性,撞库,加盐

json/pickle/shelve模块:

json:通用的序列化格式,支持的数据类型有限

pickle:只能python程序使用

configparse

random模块

验证码

logging模块

  模块级别:

    critical=50

    error=40

    warning=30

    info=20

    debug=10

    notset=0

    默认日志级别:warning,

    默认的输出目标是:终端

    全局配置日志
    import logging
    logging.basicConfig(
  filename='yangjianbo.log',
  format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:%(message)s',
  datefmt='%Y-%m-%d %H-%M-%S',
  level=10,
    )     logging.debug('杨建波111111')

    

  logging的四个对象

    logger    fiter   formatter   hanlder

   logging的正式使用:

logging.config

re模块

  

  re.findall()

    

#coding=utf-8
import re #第一个参数:正则规则;
#第二个参数:要查询的字符串。
# print(re.findall('yang','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))
# print(re.findall('aaa','bbbs2 222aaa dcccddddddaaaaaaa'))
# print(re.findall('[a-z]','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #匹配所有小写字母
# print(re.findall('\w','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #字母数字下划线
# print(re.findall('\W','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #非字母数字下线
# print(re.findall('\s','I am yangjianbo,ya2ch\ten\ra\nmu,ddf***iujf _-yang22')) #空字符,包括\t \r \n
# print(re.findall('\S','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))#非空字符
# print(re.findall('\d','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #数字
# print(re.findall('\D','I a\tm yangjianbo,ya2chenamu,ddf***iujf _-yang22')) #非数字 #重复匹配
# print(re.findall('ab?','I am yangjianbo,ya2chenamu,ddf***iujf _-yang22'))#重复前一个字符0次或1次
# print(re.findall('ab*','I am yangjianbo, abbbb ya2chenamu,ddf***iujf _-yang22')) #重复前一个字符0次或无穷次
# print(re.findall('ab+','I am yangjianbo,ya2chenabbbbamu,ddf***iujf _-yang22'))#重复前一个字符1次或无穷次
# print(re.findall('ab{4}','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22'))#重复前一个字符4次。
# print(re.findall('ab{4,5}','I am yangjabbbbianbo,abbya2abbbbbchenamu,ddf***iujf _-yang22'))#重复前一个字符4次到5次
# print(re.findall('a.b','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22'))# 点表示任意一个字符
#.* 表示匹配所有字符。默认是贪婪匹配。
# print(re.findall('a.*b','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22 a1283838b'))#匹配出a和b之前所有的字符,而且是最长的。
# print(re.findall('a.*?b','I am yangjabbbbianbo,abbya2chenamu,ddf***iujf _-yang22 a1283838b'))#匹配符合a和b之间最短的字符.

   re.search()  匹配第一个字符,匹配成功就返回结果,不会继续匹配。

     re.match() :匹配以指定字符串为首的字符串,匹配成功就返回结果,与re.search('^')相似。

   re.split(): 以指定的分隔符,分割字符串。

re.sub():  用来替换指定的字符串。

 

Python学习笔记六的更多相关文章

  1. python学习笔记六 面向对象相关下(基础篇)

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...

  2. python学习笔记六 初识面向对象上(基础篇)

    python面向对象   面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...

  3. Python学习笔记六--文件和输入输出

    6.1文件对象 所有Python对文件的操作都是基于对文件对象的操作.那么就从文件对象的创建说起.open()[file()]提供初始化输入输出的接口.open()成功打开文件时会返回一个文件对象. ...

  4. Python学习笔记(六)Python的列表生成式、生成器

    列表生成式 List Comprehensions 列表生成式是Python内置的非常简单却强大的可以用来创建list的生成式. 简单的数值范围的list可以使用一下方式生成: >>> ...

  5. python学习笔记(六)、类

    Python与java.c++等都被视为一种面向对象的语言.通过创建自定义类,用于处理各种业务逻辑.面向对象有封装.继承.多态三个特征,这也是面子对象语言的通用特征. 1 封装 封装,是值向外部隐藏内 ...

  6. python学习笔记六——堆栈和队列

    4.2.3 列表的查找.排序.反转 list列表可以进行添加.删除操作,此外List列表还提供了查找元素的方法.list列表的查找提供了两种方式,一种是使用index方法返回元素在列表中的位置,另一种 ...

  7. Python学习笔记六:数据库操作

    一:Python操作数据库的流程 二:开发环境准备 1:开发工具PyCharm 2:Python操作mysql的工具:需要安装Python-Mysql Connector,网址:https://sou ...

  8. Python学习笔记六:文件处理

    一:打开文件 open(name,mode,[bufferSize]) name:文件路径 mode:文件打开方式 二:文件读取 read()方法:可以一次读取文件的全部内容,Python把内容读到内 ...

  9. python学习笔记(六) 函数式编程

    一 函数对象 函数同样可以作为对象复制给一个变量,如下: f = abs; print(f(-10)) f = 'abs'; print(f) def add(a,b,f): return f(a) ...

随机推荐

  1. Shell命令-文件及内容处理之wc,tr

    文件及内容处理 - wc.tr 1. wc:统计文件的行数.单词数或字节数 wc命令的功能说明 wc 命令用于计算字数.利用 wc 指令我们可以计算文件的字节数,字数,或是列数,若不指定文件名称,或是 ...

  2. error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2

    安装mysql是出现这个错误. python3.和python2.两个的版本不一样,所以安装的东西也不一样:MySQLdb 安装mysql的连接包.工具安装 Python3.x版本:Pip insta ...

  3. 【BZOJ5495】[十二省联考2019]异或粽子(主席树,贪心)

    [BZOJ5495][十二省联考2019]异或粽子(主席树,贪心) 题面 BZOJ 洛谷 题解 这不是送分题吗... 转异或前缀和,构建可持久化\(Trie\). 然后拿一个堆维护每次的最大值,每次如 ...

  4. 洛谷 P3380 【【模板】二逼平衡树(树套树)】

    其实比想象中的好理解啊 所谓树套树,就是在一棵树的基础上,每一个节点再维护一棵树 说白了,就是为了实现自己想要的操作和优秀的时间复杂度,来人为的增加一些毒瘤数据结构来维护一些什么东西 比如说这道题 如 ...

  5. GroupBox、TextBox、CheckBox、ToolStrip、RichTextBox、Timer控件

    GroupBox:划分窗体区域,内部可以拖放组件 TextBox:可编辑文本框,也可设置为只读 属性:ReadOnly(只读).PasswordChar(密码显示的符号,如*).Multiline(多 ...

  6. 记一次504 Gateway Time-out

    使用curl请求是超时,查了下资料原来是端口被占用,造成了死锁,记录下 首先要知道为什么会出现死锁? 在我们访问页面的时候这个端口进程就已经被使用,当我们再在页面中curl请求其他页面因为没有其他的端 ...

  7. 使用WebClient进行文件上传

    注释部分为异步上传,几行代码就能搞定 public static bool Upload(string url, string path) { using (WebClient client = ne ...

  8. 编写高质量的Python代码系列(一)之用Pythonic方式来思考

    Python开发者用Pythonic这个形容词来描述具有特定风格的代码.这种风格是大家在使用Python语言进行编程并相互协作的过程中逐渐形成的习惯.那么,如何以改风格完成常见的Python编程工作呢 ...

  9. MapReduce 概述

    定义 Hadoop MapReduce 是一个分布式运算程序的编程框架,用于轻松编写分布式应用程序,以可靠,容错的方式在大型集群(数千个节点)上并行处理大量数据(TB级别),是用户开发 “基于 Had ...

  10. EF CodeFirst系列(6)---配置1对1,1对多,多对多关系

    这一节介绍EF CodeFirst模式中的1对0/1,1对多,多对多关系的配置,只有梳理清楚实体间的关系,才能进行愉快的开发,因此这节虽然很简单但是还是记录了一下. 1. 1对0/1关系配置 1. 通 ...