zoukankan      html  css  js  c++  java
  • 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())
    # 安全 越长越慢 

    
    

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

     

  • 相关阅读:
    SQL Server 2008 R2下载地址
    [转]sqlserver2014两台不同服务器上数据库同步
    笔记本(ThinkPad)怎样关闭触摸板
    10 Free Image Hosting Sites for Your Photos
    Photobucket不能用了怎么办?推荐10个在线图片储存服务!
    证书错误 导航已阻止 无法跳转 最终解决
    用websploit获取管理员后台地址
    10 Free Image Hosting Sites for Your Photos
    Css3动画属性总汇
    23个适合logo设计的常用英文字体
  • 原文地址:https://www.cnblogs.com/antigeneral/p/10287757.html
Copyright © 2011-2022 走看看