加密算法介绍 HASH       Python全栈之路----hash函数 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值. 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数. HASH主要用于信息安全领域中加密算法,他把一…
我们经常需要通过Python去执行一条系统命令或脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程,通过python调用系统命令或脚本的模块在python2有os.system, >>> os.system('uname -a') Darwin Alexs-MacBook-Pro.local 15.6.0 Darwin Kernel Version 15.6.0: Sun Jun 4 21:43:07 PDT 2017; root:xnu-3…
目录基本内容 log  #日志目录 conf  #配置目录 core/luffycity  #程序核心代码目录  #luffycity 是项目名,建议用小写 libs/modules  #内置模块 docs  #文件 README  #软件使用说明 setup.py  #安装文件 bin/  #程序启动脚本,程序入口脚本 luffy_server.py  #通过这个文件去调用其他文件夹里的东西 目录组织方式 假设你的项目名为foo, 我比较建议的最方便快捷目录结构这样就足够了: Foo/ |--…
正则表达式就是字符串的匹配规则,在多数编程语言里都有相应的支持,python里对应的模块是 re. re的匹配语法有以下几种 re.match 从头开始匹配 re.search 匹配包含 re.findall 把所有匹配到的字符放到以列表中的元素返回 re.split 以匹配到的字符当做列表分隔符 re.sub 匹配字符并替换 re.fullmatch 全部匹配  常用的表达式规则   红色加粗的为重要的常用的 '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字…
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug()调试, info()记录, warning()有潜在问题, error()出问题 and critical()严重问题5个级别,下面我们看一下怎么用. 最简单用法 import logging logging.warning("user [alex] attempte…
高级的 文件.文件包.压缩包 处理模块   参考Python之路[第四篇]:模块     #src是原文件名,fdst是新文件名 shutil.copyfileobj(fsrc, fdst[, length])   #将文件内容拷贝到另一个文件中 import shutil #后面是新创建的文件,每次读len的长度,直到读完 shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w'),len) shutil.copyfile(src,…
什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python里,一个 .py 文件就被称之为一个模块(Module). 使用模块有什么好处? 1.最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.带一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,…
相比于time模块,datetime模块的接口则更直观,更容易调用. datetime模块定义了下面这几个类: datetime.date:表示日期的类,常用的属性有year,month,day: datetime.time:表示时间的类,常用的属性有hour,minute,second,microsecond: datetime.datetime:表示日期时间. datetime.timedelta:表示时间间隔,即两个时间点之间的长度. datetime.tzinfo:与时区有关的相关信息.…
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml. xml的格式如下,就是通过<>节点来区别数据结构的: <?xml version="1.0"?> <data> <country name="Liechtenstein"> <rank upda…
把内存数据转成字符,叫序列化:把字符转成内存数据类型,叫反序列化. Json模块 Json模块提供了四个功能:序列化:dumps.dump:反序列化:loads.load. import json data = { 'roles':[ {'role':'monster','type':'pig','life':50}, {'role':'hero','type':'关羽','life':80} ] } #dumps和loads d = json.dumps(data) #仅转成字符串 d2 =…
当你的模块文件越来越多,就需要对模块文件进行划分,比如把负责跟数据库交互的都放一个文件夹,把与页面交互相互的放入一个文件夹. 像上面这样,一个文件夹管理多个模块文件,这个文件夹就被称为包. 那不同包之间的模块如何相互导入呢? crm/views.py 内容 def sayhi(): print('hello world!') 通过 manage.py 调用 from my_pro.crm import views #从包里导入包里的文件 views.sayhi() 在文件夹下,加一个 __ini…
os模块提供了很多允许你的程序和操作系统直接交互的功能 得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd() #test.py import os print(os.getcwd()) D:\ProgramLearning>python Py_program\test.py D:\ProgramLearning #显示的是当前python解释器所在的目录,而不是文件所在目录 返回指定目录下的所有文件和目录名:os.listdir() #test.py import os…
sys.argv  命令行参数 List,第一个元素是程序本身路径 #test.py import sys print(sys.argv) D:\ProgramLearning\Py_program>python test.py ['test.py'] D:\ProgramLearning\Py_program>python test.py run web ['test.py', 'run', 'web'] sys.exit(n)  退出程序,正常退出时 exit(0) >>>…
time 模块的方法 time.time():返回当前时间的时间戳. >>> import time >>> time.time() #从1974年到现在过去了多少微秒 1551695952.625551 time.localtime([secs]):  将一个时间戳转换为当前时区的 struc_time ,secs 参数未提供,则以当前时间为准. >>> time.localtime() #获取当地时间 time.struct_time(tm_yea…
程序中有很多地方需要用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串. >>> import random >>> random.randint(1,100) #在1-100之间生成一个随机数 3 >>> random.randrange(1,100) #在1-99之间生成一个随机数 10 >>> random.random() #返回一个浮点数 0.9143138919444751 >>…
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve configparser hashlib 一.模块介绍 模块的定义:在python中一个.py文件我们就可以称之为一个模块,python中有很多自带的模块我们叫内置模块,而我们自己创建的模块称之为自定义模块.模块可以被别的程序引入,以使用该模块中的函数等功能 模块的导入: # 方法一: # import time # 方法二: from time imp…
集合(set):无序的,不重复的数据组合,它的主要作用如下:  · 去重,把一个列表变成集合,就自动去重了  · 关系测试,测试两组数据之间的交集.差集.并集等关系 1.基本操作:修改,删除,合并 >>> s = {1,2,3,4}>>> s.add(2) #添加元素,同时去掉重复的元素>>> s{1, 2, 3, 4}>>> s.add(6)>>> s{1, 2, 3, 4, 6}>>> s.po…
Module1 Python基本语法 Python全栈之路----编程基本情况介绍 Python全栈之路----常用数据类型--集合 Module2 数据类型.字符编码.文件操作 Python全栈之路----进制运算 Python全栈之路----Python基础元素 Pyhon全栈之路----数据类型 Python全栈之路----流程控制+循环 Python全栈之路----数据结构—列表 Python全栈之路---数据类型—字符串 Module3 函数.装饰器.迭代器.内置方法 Python全栈…
基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈之路4--内置函数--文件操作 5.Python全栈之路5--常见的排序的算法 6.Python全栈---5.1---装饰器 7.Python全栈之路6--正则表达式 8.Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例 9.Python全栈…
目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文件操作 6. Python - python中经常踩得的坑 7. Python - 网络编程 8. Python - 并发编程 二. 数据库 Mysql Redis MongoDB SQLAlchemy 三. 前端 前端 - HTML 前端 - CSS 前端 - Javescript 前端 - JQ…
OS模块 1. os.name()      获取当前的系统 2.os.getcwd      #获取当前的工作目录 import os cwd=os.getcwd() # dir=os.listdir('.') print(cwd ) ''' 执行结果: F:\python\python全栈开发\总结笔记 ''' 3. os.listdir   #指定所在目录下的所有的文件和目录 import os dir=os.listdir('.') # .表示当前目录..表示上一级目录 print(di…
一.昨日内容回顾 1.钻石继承 #新式类,本身或父类显示继承object #找名字的时候是广度优先顺序 #有mro方法,super方法, # super并不是单纯的找父类,和mro顺序是完全对应的 # super class A: def func(self): print('A') class B(A): def func(self): print('B') super().func() class C(A): def func(self): print('C') super().func()…
1.昨日内容回顾 1.正则表达式     # 正则表达式 —— str           # 检测字符串是否符合要求     # 从大段的文字中找到符合要求的内容 1).元字符 #. # 匹配除换行符以外的所有字符 # \n,\t,\b # \w,\s,\d    \W,\S,\D    # ^,$ # ab|a,()   #  [...],[^...] 2).量词 # * # + # ? # {n} # {n,} # {n,m} 3).贪婪匹配和惰性匹配      .*?x  惰性匹配 4)…
函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句,把结果返回. def stu_register(name,age,course='PY',country='CN'): print('----注册学生信息----') print('姓名:',name) print('年龄:',age) print('国籍:',country) print('课程:',course) if age > 22: return False else: return True registriat…
python基础链接 python3速查参考- python基础 2 -> if语句应用 + while循环应用 https://www.cnblogs.com/wuzhiming/p/7795707.html python3速查参考- python基础 3 -> -> while循环实例 + Continue && break的应用 + 列表的初步学习 https://www.cnblogs.com/wuzhiming/p/7801548.html python3速查参…
日志是一种可以追踪某些软件运行时所发生事件的方法.软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情.一个事件可以用一个可包含可选变量数据的消息来描述.此外,事件也有重要性的概念,这个重要性也可以被称为严重性级别(level). 1.日志的作用 通过log的分析,可以方便用户了解系统或软件.应用的运行情况:如果你的应用log足够丰富,也可以分析以往用户的操作行为.类型喜好.地域分布或其他更多信息:如果一个应用的log同时也分了多个级别,那么可以很轻易地分析得到该应用的健康状…
1 time模块 #!/usr/bin/env python # __Author__: "wanyongzhen" # Date: 2017/4/7 import time # print(help(time)) # 打印time模块的帮助 # print(time.time()) # 返回当前时间戳 # time.sleep(3) # sleep 3秒 # print(time.clock()) # 计算CPU执行时间 # # print(time.gmtime()) # 返回结构…
本节大纲: 模块介绍 time &datetime模块 random os sys shutil shelve xml处理 pyyaml处理 configparser hashlib re正则表达式 1.模块介绍 1)定义: 模块:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,模块名就是:test) 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件) 2)导入方法: imp…
编码的问题 中文版 Windows 终端是默认GBK编码格式,python2默认为ASCII编码,虽然我们注释了需要用UTF-8,但是通过命令行运行的文件如果print中文内容还是会出现乱码. Unicode, UFT-8, GBK 分别是三种不同的编码,Unicode在转为UTF-8或GBK时需要经过编码的过程,而UTF-8或GBK变为Unicode则需要经过解码.因此UTF-8和GBK的转化就需要经过一个解码和编码的过程.所以即使我们在py文档里注明了使用utf-8编码,在默认使用gbk的终…
lambda表达式 lambda表达式是函数的一种简化,如下面两种函数定义方法,实际上效果是一样的. 使用lambda表达式的函数,func2是函数名,lambda: 后面的123 即为返回值. def func1(): return 123 result1 = func1() print(result1) # 正常定义一个函数 => 123 func2 = lambda: 123 result2 = func2() print(result2) # 使用lambda定义函数,效果同上 =>…