• os sys hashlib 模块


    os模块:与操作系统交互:

    os 模块:跟操作系统交互的
    import os
    # 要会现学现用的:

    os.makedirs('a/b/c/d/e/f') #递归创建文件夹

    os.removedirs('a/b/c/d/e/f') #直接删除不保存,当某个文件夹里有文件存在的时候就不删除了(文件保护).

    os.listdir(r'F:Python fullstack19期)
    #查看此目录下所有文件,列表格式输出

    os.mkdir('a') #创建一个单个的文件夹
    os.rmdir('a') #删除单个文件夹,文件夹里有内容的时候不删除,报错,文件非空
    ***
    os.rename('旧名字','新名字') 重命名文件或者目录
    os.remove('222.py') #删除文件,参数文件的名字,当前目录,否则加绝对路径
    ***

    with open() #创建文件
    ***
    print(os.getcwd()) #文件的当前路径

    os.chdir(r'文件路径')#切换文件路径
    os.curdir #当前目录
    os.pardir #上一级,父级

    os.chdir(os.pardir)
    print(os.getcwd())
    ***
    print(repr(os.sep)) #*当前操作系统的分隔符
    print(rer(os.linesep)) #*当前操作系统的终止符 键盘上的回车键, 文件上的回车键, ,http,协议请求的时候会用到.

    print(os.pathsep) #环境变量里的分隔符,windows是;,linux是:

    print(os.name) #windows是nt,linux是posix

    os.system('dir')
    ***
    ret = os.popen('dir').read() #通过代码向操作系统发出指令
    print(ret)

    print(os.environ) #操作系统的环境变量
    ***
    # 路径:
    ***
    print(os.path.abs(r'笔记')) #返回一个path规范化的绝对路径
    ***
    print(os.path.split(r'F:Python fullstack19期'))
    #结果:('F:Python fullstack','19期')将本文件名与路径分割,以元祖形式返回,分为两个元素
    ***
    print(os.path.basename(r'F:Python fullstack','19期'))
    #结果('19期'),返回文件名,本名

    print(os.path.dirname(r'F:Python fullstack19期')) #文件的路径
    #F:Python fullstack

    1 我指定一个盘符,显示这个盘符下的所有内容,让用户输入要切换到哪个地方
    print(os.listdir(r'路径')) #显示当前路径下所有内容
    url = input('>>>') #输入想要进入的目录
    os.chdir(r'路径\' + url) #目录切换,把路径扔进去
    print(os.getcwd())
    ret = os.getcwd() #查看当前路径,返回值存到ret
    print(os.listdir(ret)) #列出当前路径下所有内容

    *********************重要
    print(os.path.join(r'路径',url))
    ret = os.path.join(r'路径',url) #查看当前路径,返回值存到ret
    print(os.listdir(ret)) #列出当前路径下所有内容
    *********************重要
    os.path.join('第一个参数从磁盘开始的一个路径','要去的路径')


    **********************重要
    import os
    BASE_dir = os.path.abspath(__file__)
    print('BASE_dir')
    print(os.path.join(BASE_dir,'小王.py'))
    **********************重要

    sys模块 与python解释器交互:
    import sys,os
    sys.path #python在找模块的一个环境变量
    lst = sys.path
    print(lst)
    lst.clear()

    print(sys.platform) #返回操作系统信息的 win32
    if sys.platform == 'win32':
    os.popen('dir') #windows
    else:
    os.popen('ls') #'linux'
    sys.version #获取python解释程序的版本信息

    **********************重要
    import sys
    print(sys.argv)
    #只能在终端里用,在不修改源代码的情况下上传参数
    **********************重要
    hashlib 模块:(加密模块)

    import hashlib

    
    

    md5 = hashlib.md5() 
    md5.update('你好啊'.encode('utf-8'))
    print(md5.hexdigest())

    
    

    124756ef340daf80196b4124686d651c

    
    

    import hashlib
    md5 = hashlib.md5('salt'.encode('utf-8')) #加盐(改变)原始md5值,增加撞库破解难度
    md5.update('你好啊'.encode('utf-8'))
    print(md5.hexdigest())

    
    

    124756ef340daf80196b4124686d651c
    6419a703904a8abe856bb10b5439729b

    
    

    import hashlib
    s1 = hashlib.sha1('a'.encode('utf-8'))
    s1.update('你哈'.encode('utf-8'))
    print(s1.hexdigest())
    c9dbe3cd4bc5844de1d30403d98eeeec6008bcb2
    7e81cf96d8605215ad366063cd2abf7c6726018b
    安全 越长越慢 

    
    

    import hashlib
    s1 = hashlib.sha256()
    s1.update('你哈'.encode('utf-8'))
    print(s1.hexdigest())
    # b68fa16c10ea4f37dff491e4409275f0a879f53045803384c57e6842b4ec1850
    # 安全 越长越慢 

    
    

    import hashlib
    s1 = hashlib.sha512()
    s1.update('你哈'.encode('utf-8'))
    print(s1.hexdigest())
    # 安全 越长越慢 

    
    

    加密
    文件下载的时候,同过生成的哈希值来检验文件的一致性

     

  • 相关阅读:
    msyqld 的 The user specified as a definer ('root'@'%') does not exist 问题
    Python加密模块-pycryptodome
    【leetcode 简单】 第一百一十题 分发饼干
    Python数据类型-字典
    Python数据类型-集合(set)
    Python数据类型-列表(list)增删改查
    Python数据类型-元组
    Python 函数系列- Str
    Linux运维之shell脚本
    python之面向对象篇6
  • 原文地址:https://www.cnblogs.com/antigeneral/p/10287757.html
Copyright © 2020-2023  润新知