加密算法介绍 HASH       Python全栈之路----hash函数 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值. 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数. HASH主要用于信息安全领域中加密算法,他把一…
一.复习 collections 增加了一些扩展数据类型 :namedtuple orderdict defaltdict队列和栈time 时间 三种格式 : 时间戳 结构化 字符串random 随机数 打乱顺序sys 和python解释器交互的: path 导入模块的时候 从这个路径中获取 argv 以脚本的形式执行一个文件的时候,可以加一些参数 import sys print(sys.argv) #['xx.py','alex','sb'] 学习方法:先把老师的代码敲一遍,并把代码逐一注释…
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…
什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python里,一个 .py 文件就被称之为一个模块(Module). 使用模块有什么好处? 1.最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.带一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,…
把内存数据转成字符,叫序列化:把字符转成内存数据类型,叫反序列化. 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 =…
我们经常需要通过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,…