Python之路,Day15 = Python基础15 re 模块补充 ret = re.findall("c.d", "abc\nd", re.S) # 后面参数用来修改模式,这个模式下 . 可以匹配所有的字符,包括换行符 re.split() re.split("\d+", "hello23world12dfae3dge") >>>["hello", "world"…
hashlib模块:加密 加密: 1.有解密的加密方式 2.无解密的加密方式:碰撞检查 hashlib -- 1)不同数据加密后的结果一定不一致 -- 2)相同数据的加密结果一定是一致的 import hashlib # 基本使用 cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8')) print(cipher.hexdigest()) # 加密结果码 # 加盐 cipher = hashlib.md5() cipher.update('前盐'…
Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函数    os模块   hashlib模块  platform模块  csv模块 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字…
python模块之sys和subprocess以及编写简单的主机扫描脚本 1.sys模块 sys.exit(n)  作用:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用.(0是正常退出,其他为异常) sys.path   作用:获取指定模块搜索路径的字符串集合 sys.platform: 获取当前系统平台 sys.argv  在外部向程序内部传递参数 2.subp…
re模块是Python的标准库模块 模块正则接口的整体模式 re.compile 返回regetx对象 finditer fullmatch match search 返回 match对象 match.属性|方法   re模块的使用: regex = re.compile(pattern,flags = 0) 功能 : 生成正则表达式对象 参数 : pattern     正则表达式 flags  功能标志位,丰富正则表达式的匹配 返回值: 返回一个正则表达式对象 re.findall(patt…
一  hashlib模块 那么我们前面学习数据类型的时候,也讲了hash,可变类型不可hash:不可变类型可hash. 我们知道hash是一种算法,接收传入的内容经过运算之后得到一个hash值,我们可以把hash看作一个工厂,送进去原料,出来时包装之后的成品. hash的特点: 1 只要传入的内容一样,得到的hash值就是一样的,(可以分多次传入,只要传入的值一样,得到的hash值就一样),这个特点可以用来检测文件的完整性. 2不能由hash值返解出内容,这也是我们可以用hash加密的一个原因.…
一.hashlib模板 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过. 摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非…
configparser 模块 功能:操作模块类的文件,configparser类型文件的操作类似于字典,大多数用法和字典相同. 新建文件: import configparser cfg=configparser.ConfigParser() cfg[', 'Compression': 'yes', ', 'ForwardX11':'yes' } cfg['bitbucket.org']={'User':'hg'} cfg[','Forwardx11':'no'} with open('cfg…
hashlib模块:加密 import hashlib # 基本使用 cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8')) print(cipher.hexdigest()) # 加密结果码 # 加盐 cipher = hashlib.md5() cipher.update('前盐'.encode('utf-8')) cipher.update('需要加密的数据'.encode('utf-8')) cipher.update('后盐'.enc…
常用模块1. shelve 一个字典对象模块 自动序列化2.xml 是一个文件格式 写配置文件或数据交换 <a name="hades">123</a>3. configparser 用来解析 读写 配置文件 内容:section option4. hashlib 里面有一对hash算法 常用的是MD55. subprocess6. re shelve模块 什么是shelve模块: 也是一种序列化方式 使用方法: 1. open 2. 读写 3. close 特…
1.1shelve模块 shelve 模块比pickle模块简单,只有一个open函数,返回类似字典对象,可读可写:key必须为字符串, 而值可以是python所支持的数据类型. shelve模块主要用来存储一个简单的数据, shelve最重要的函数是open,在调用它的时候,使用文件名作为参数,它会返回一个架子(shelf)对象,可以用它来存储类容. f = shelve.open(r"shelve_test.txt") # aa = {"stu1":{"…
项目上线要求当中有言论和昵称的过滤需求, 客户端使用的是python脚本, python脚本中直接利用re模块来进行正则匹配, 一开始的做法是开启游戏后, 每帧编译2条正则式, 无奈运营需求里面100+条略为复杂的正则式, 一条编译起来在pc上都需要80ms, 造成客户端开启时候的卡顿. 解决方案当然是保存re模块编译的正则式结果, 之后开机直接加载就行, 然而需要注意的是re.compile()返回的_sre.SRE_Pattern对象虽然可以使用pickle保存下来, 但是这只是个假象, 实…
一, 什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法. 在python中,正则内嵌在python中,并通过re模块实现,正则表达模式被编译成一系列的字节码,然后由c编写的匹配引擎执行. 二,常用的匹配模式(元字符) import re # 将所有的数据都找出来放进列表中list,一一匹配 print(re.findall('alex', 'haha alex is alex is dsb')) # >>>: ['alex', 'ale…
python没有正则需要导入re模块调用.正则表达式是为了匹配字符串,动态模糊的匹配,只要有返回就匹配到了, 没返回就没匹配到,前面是格式后面是字符串 最常用的匹配语法: re.match()#麦驰,从头开始匹配(两种方式:简单,分组) re.search()#色迟,浏览全部字符,匹配第一个符合规则的字符串 re.findall()#把所有匹配到的字符放到以列表中的元素返回 re.split()#以匹配到的字符当做列表分隔符 re.sub()#匹配字符并替换 re.finditer() 扩展:…
XML 什么XML:全称 可扩展标记语言 标记指的是代表某种含义的字符 XML<> 为什么需要XML 为能够在不同的平台间继续数据的交换 为了使交换的数据能让对方看懂 就需要按照一定的语法规范来书写 XML语法格式: 一.任何的起始标签都必须有一个结束标签. <tagname></tagname> <tagname></tagname> <tagname/> 简化写法 二.可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签…
前言 使用配置文件可以在不修改程序的情况下,做到对程序功能的定制.Python 使用自带的configParser模块可以很方便的读写配置文件的信息. configParser 支持的方法 ConfigParser模块支持很多种读取数据的方法,最常用的是get方法,通过section 及 option的值获取对应的数据 read(filename)   - - 直接读取文件内容 sections()     - -   得到所有的section,并以列表的形式返回 options(section…
常用模块二 hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 注意:摘要算法不是一个解密算法.(摘要算法,检测一个字符串是否发生了变化) 应用:1.做文件校验 2.登录密码 密码不能解密,但可以撞库,用‘加盐’的方法就可以解决撞库的问题.所有以后设置密码的时候要设置的复杂一点. import hashlib # md5…
一.反射(自省) 首先通过一个例子来看一下本文中可能用到的对象和相关概念. import sys # 模块,sys指向这个模块对象import inspectdef foo(): pass # 函数,foo指向这个函数对象 class Cat(object): # 类,Cat指向这个类对象 def __init__(self, name='kitty'): self.name = name def sayHi(self): # 实例方法,sayHi指向这个方法对象,使用类或实例.sayHi访问…
一 hashlib 主要用于字符串加密 1 import hashlib md5obj=hashlib.md5() # 实例化一个md5摘要算法的对象 md5obj.update('alex3714'.encode('utf-8')) # 使用md5算法的对象来操作字符串 ret = md5obj.hexdigest() #获取算法的结果 hex+digest 16进制+消化 print(ret,type(ret)) #加盐 md5obj=hashlib.md5('hello'.encode('…
常用模块之正则模块 """ 正则表达式与re模块的关系 1.正则表达式是一门独立的技术,任何语言均可使用 2.python中要想使用正则表达式需要通过re模块 """ 初识正则表达式 网站手机号校验功能示例:https://reg.jd.com/reg/person?ReturnUrl=https%3A//www.jd.com/ 有无正则校验的区别 # 纯python代码校验 while True: phone_number = input('p…
匹配时间: # -*- coding:utf-8 -*- import re def parseDate(l): patternForTime = r'(\d{4}[\D]\d{1,2}[\D]\d{1,2}[\D]?)' for i in l: m = re.search(patternForTime, i) if m: print(m.group(1)) if __name__ == '__main__': l = ['永康市雅致医疗器械有限公司', '郑云燕', 'II类:6863-16-…
1.匹配标签 import re ret = re.search("<(?P<tag_name>\w+)>\w+</(?P=tag_name)>", "<h1>hello</h1>") # 可以再分组中利用 ?P<name> 的形式给分组起名字,后面的 ?P=tag_name 是引用前面的分组 # 获取的匹配结果可以直接用 group('name') 拿到对应的值 print(ret.group…
day18 正则表达式用处? 匹配 字符串 s = 'hello world' print(s.find('llo'))#第一个的位置 ret = s.replace('ll','xx') print(ret) print(s.split(' ')) 执行结果 2 hexxo world ['hello', 'world'] Process finished with exit code 0 以上字符串提供的是完全匹配 模糊匹配,以上方法不可行,需正则表达式 import re ret = re…
ConfigParser 模块 一.ConfigParser简介ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.section 下面为类似于key-value 的配置内容 [db] db_host = 127.0.0.1 db_port = 22 db_user = root db_pass = rootroot [concurrent] thread = 10 processor = 20 中括号“[ ]”内包含的为section…
  python_way.day7 1.模块 configparser,xml,shutil,subprocess 1.模块 a.configparser 用于处理特定格式的文件,其本职上使用open来操作,只能是  [test1] 特定的格式 [test1] k1 = 123 k2 = True [test2] k1 = 123 k2 = v1 文件内容 1.获取 import configparser #打开文件找到文件下的所有的项目标签 config = configparser.Conf…
本篇记录内容 模块 configparser xml shutil subprocess 面向对象 面向对象基础 面向对象编程和函数式编程对比 面向对象中对象和类的关系 面向对象之构造方法 面向对象之应用场景实例 面向对象之对象中封装对象 面向对象之单继承 面向对象之多继承 模块 1.configparser 配置文件解析,可以解析固定格式的配置文件,例如mysql的配置文件,下面通过一些例子详细介绍configparser的一些功能 配置文件text.txt的内容如下 [section1] k…
目录: shutil logging模块 shelve configparser subprocess xml处理 yaml处理 自定义模块 一,系统标准模块: 1.shutil:是一种高层次的文件操作工具,类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好,是高级的文件.文件夹.压缩包处理模块,而且是系统的标准自带模块: copyfile(src, dst, *, follow_symlinks=True):拷贝文件,如果目标存在同名的文件会进行覆盖: import…
一.os模块 os指的是操作系统 该模块主要用于处理与操作系统相关的操作,常用的是文件操作(读.写.删.复制.重命名). os.getcwd()  获取当前文件所在的文件夹路径 os.chdir()  修改当前工作目录 os.makedirs()  创建多级目录(不存在时,则创建) os.mkdir()  创建单级目录 os.rmdir()  删除文件夹(文件夹为空,则删除) os.listdir()  列出指定目录下的所有文件及子目录(存在一个列表中) os.stat()  获取文件信息 os…
1.os模块 os表示操作系统该模块主要用来处理与操作系统相关的操作最常用的文件操作打开 读入 写入 删除 复制 重命名 os.getcwd() 获取当前执行文件所在的文件夹路径os.chdir("dirname") 改变当前脚本工作目录os.curdir 返回当前目录的字符串表现方式: 结果('.')os.pardir 获取当前目录的父目录字符串名:结果('..')os.makedirs('a/b/c') 可生成多层递归目录,如果不存在,可以自动创建中间的目录os.mkdir('a/…
configparser模块: 此模块用于生成和修改常见配置文档. 一个常见配置文件(.ini的后缀名)格式如下: [DEFAULT] # DEFAULT 是指后面的字典里都会默认有的内容 ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port = 50022 ForwardX11 =…