zoukankan      html  css  js  c++  java
  • Python内置模块:random,os,sys,和加密模块hashlib

    random

    import random    # 导入模块

    随机数
    import random  # 内置的
    print(random.random())
    #0-1 之间随机小数(18位有效数字)
    
    print(random.randint(1,10))
    #起始位置,终止位置 两头都包含
    
    print(random.randrange(1,21,2))
    #起始位置,终止位置(不包含),步长
    
    print(random.choice(['alex','wusir','eva_j']))
    #从有序数据结构中随机选择一个
    
    print(random.choices(['wusir','tialaing','taihei','ritian'],k=2))
    #随机选择两个,但是有重复
    
    print(random.sample(['wusir','tialaing','taihei','ritian'],k=2))
    #随机选择两个,没有重复
    
    li = [1,2,3,4,6]
    random.shuffle(li)  # 洗牌 打乱顺序
    print(li)
    
    #随机数  验证码  微信红包
    
    print(chr(65),chr(90),chr(97),chr(122))
    
    U = chr(random.randrange(65,91))
    L = chr(random.randrange(97,123))
    n1 = random.randrange(0,10)
    n2 = random.randrange(0,10)
    print(U, L,n1,n2)

    os

    # 用于和电脑操作系统做交互

    import os

    os.makedirs('app/a/b/c')   # 递归创建文件       ***
    os.removedirs('app/a/b/c') # 递归删除文件, 当这个要删除的目录有文件就停止删除  ***
    os.mkdir('app')   # 创建单个目录                ***
    os.rmdir('app')     # 删除单个目录,目录如果有东西就报错不进行删除    ***
    print(os.listdir('D:PyCharmProjects20day14'))    ****
    # 查看某个目录下的内容
    
    # 文件:
    os.remove() #删除这个文件,删除了就不能恢复了    *****
    os.rename()   #修改文件的名字                  *****
    
    # 操作系统:
    print(repr(os.sep))  #\
    # C:UsersluckyDocumentsTencent Files932023756FileRecv
    # 路径符号
    
    print(repr(os.linesep))
    # 换行符
    
    print(repr(os.pathsep))
    # 环境变量的分割
    
    print(repr(os.name))
    
    print(os.system('dir'))
    
    # print(os.popen('dir').read())               ***
    # 在写程序的时候可以下发一些操作系统的指令
    # 在linux系统上相当于发shell命令
    
    # print(os.environ) 查看 高级 -- 环境变量 -- path   *
    
    # 路径:
    print(os.path.abspath('b'))      ****
    # 获取当前文件的绝对路径
    print(os.path.split(r'D:PyCharmProjects20day14'))
    # 将这个文件的绝对路径分成目录和文件
    print(os.path.basename(r'D:PyCharmProjects20day14'))  **
    # 获取的是这个文件的名字
    print(os.path.dirname(r'D:PyCharmProjects20day14'))   ***
    # 获取的是这个文件的目录路径
    print(os.path.exists(r'D:PyCharmProjects20day107 今日总结.py')) **
    # 判断这个文件是否存在
    print(os.path.isabs(r'D:PyCharmProjects20day14'))
    # 判断是否是绝对路径
    
    print(os.path.join('C:\','app','a','b'))                 *****
    #路径拼接的  软件开发规范 框架
    
    os.stat()
    
    print(os.stat('b').st_size)   #获取文件大小 ,坑目录        ***
    print(os.getcwd())  # 获取工作路劲                         ***
    
    os.chdir('D:PyCharmProjects20day13')  # 路劲切换        *
    print(os.getcwd())

    sys

    #  用户和解释器交互

     import sys

    print(sys.argv[-1])       ***
    # 接受cmd方式调用 后边的参数会传递进来
    linux系统上  -- 后端开发 -- 数据库(文件) ip + 端口
    
    print(sys.path)   # 添加自定义模块路劲的                 # ******
    
    print(sys.version)  # 版本  获取解释的版本号
    
    sys.platform = 'win1988'
    
    print(sys.platform)   #获取当前操作系统的平台位数          # 不是定死的
    
    print(sys.exit(1))

    hashlib

     1.# 加密算法
      作用: 当做密码
      判断一致性
    2.加密后不可逆 不能解 (一年前暴力破解 -- 撞库)
    现在md5 反推,md5已经不安全了,所有有了sha

    import hashlib
    md5 = hashlib.md5(''.encode('utf-8'))  # 选择加密方式  加盐
    md5.update('alex3714'.encode('utf-8')) # 将明文转成字节然后进行加密
    print(md5.hexdigest()) # 生成密文
    
    md5 = hashlib.md5()  # 选择加密方式  加盐
    md5.update('alex3714'.encode('utf-8')) # 将明文转成字节然后进行加密
    print(md5.hexdigest()) # 生成密文
    
    sha512 = hashlib.sha512()
    sha512.update('alex3714'.encode('utf-8'))
    print(sha512.hexdigest())

    # # sha512
    #   优点:
    #      安全
    #   缺点:
    #     慢
    #
    # # md5
    #   优点:
    #      安全,快
    #   缺点:
    #      容易破解

  • 相关阅读:
    jQuery 核心
    Visual Studio 文件没发布出来
    冷门JS技巧
    项目发布: error CS0103: 当前上下文中不存在名称“*****”
    jQuery编程的最佳实践
    HTML5中类jQuery选择器querySelector的使用
    html dl dt dd标签元素语法结构与使用
    EF Code First 更新数据库, 数据库迁移
    ASP.NET MVC中的拦截器
    C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等
  • 原文地址:https://www.cnblogs.com/mk-lovefreedom/p/10566246.html
Copyright © 2011-2022 走看看