zoukankan      html  css  js  c++  java
  • 19 python初学(os 模块,sys 模块,hashlib 模块)

    os 模块:

    # _author: lily
    # _date: 2019/1/13
    
    import os
    
    print(os.getcwd())    # 得到当前的工作目录
    # print(os.chdir(r'D:Program Files'))    #改变当前的工作目录
    # 这里 r 的意思是所有字符都是原生字符,避免转义
    print(os.curdir)  # .
    print(os.pardir)  # ..
    # os.mkdir('abc')   # 只能生成一个目录,不能生成嵌套的形式
    # os.mkdir('abc\lily')  # 因为abc已经有了,所以会创建单个目录lily
    # os.rmdir('abc\lily')   # 只会删除最底层的 lily 目录
    # os.makedirs('abc\lily')  # 生成文件夹,如果不是绝对路径会在当前目录下进行创建
    # os.removedirs('abc\lily')  # 只能删除空文件
    # os.remove('test.py')   # remove 只能删除文件,不能删除文件夹
    
    
    # 把此目录下的所有文件及文件夹展示出来,放进一个列表中
    os.listdir(r'D:Program FilespycharmPycharmProjectslearnstart')
    
    os.rename('abc', 'abcd')  #改名
    info = os.stat('.\abc')  # 获取文件、目录信息
    print(info.st_size)  # 得到文件大小
    print(info.st_atime)  # atime:最后一次访问的时间
    
    # os.sep 得到当前系统的分隔符
    s = os.sep   # windows 下使用  拼接路径。 linux 使用 /拼接路径
    os.linesep   # 得到当前系统的换行符  windows换行符: 
      linux换行:
       mac换行: 
    
    print(os.pathsep)# windows 路径分隔符: ;  linux 路径分隔符: :
    print(os.system('dir'))  # 执行 shell 命令
    os.path.abspath('./abc')  #传入相对路径,得到绝对路径
    print(os.path.split(r'D:Program FilespycharmPycharmProjectslearnstart'))  # 分出路径和文件名
    print(os.path.dirname(r'D:Program FilespycharmPycharmProjectslearnstart'))  # 返回 path 的目录,其实就是os.path.split的第一个元素
    # os.path.basename(path)  返回 path 最后的文件名,如果path以  或 / 结尾,就会返回空值
    # os.path.exists(path)  如果path存在,则返回true。否则返回false
    # os.path.isabs(path)  判断是不是绝对路径
    # os.path.isfile(path) 如果path是一个存在的文件,返回true
    # os.path.isdir(path)  如果path是一个存在的目录,返回true
    
    # os.path.join([a,b])  路径拼接
    # os.path.getatime(path)   # 返回path执行的文件或目录最后的访问时间
    # os.path.getmtime(path)   # 返回path执行的文件或目录最后的修改时间

    sys 模块:跟 python 解释器进行交互

    # _author: lily
    # _date: 2019/1/14
    
    # 跟 python 解释器进行交互
    #sys.argv   命令行参数 list ,第一个元素是程序路径本身
    import sys
    
    # print(sys.argv)
    #
    #
    # def post():
    #     print('post')
    #
    #
    # def download():
    #     print('download')
    #
    #
    # if sys.argv[1] == 'post':
    #     post()
    #
    # elif sys.argv[1] == 'download':
    #     download()
    
    import time
    print(sys.path)   # 返回模块的搜索路径
    # ['D:\Program Files\pycharm\PycharmProjects\learn\start', 'D:\Program Files\pycharm\PycharmProjects\learn', 'D:\Program Files\Python37\python37.zip', 'D:\Program Files\Python37\DLLs', 'D:\Program Files\Python37\lib', 'D:\Program Files\Python37', 'D:\Program Files\Python37\lib\site-packages', 'D:\Program Files\pycharm\PyCharm 2018.3.1\helpers\pycharm_matplotlib_backend']
    
    print(sys.platform)   # 返回当前平台名称

    hashlib 模块,加密算法,md5 和 sha256

    # _author: lily
    # _date: 2019/1/14
    # 加密,是不可逆的
    import hashlib
    
    m = hashlib.md5()
    print(m)
    
    m.update('hello world'.encode('utf8'))  # update 的参数只接受 byte 类型
    print(m.hexdigest())   #把转换结果取出来: 5eb63bbbe01eeed093cb22bb8f5acdc3
    
    m.update('lily'.encode('utf8'))
    print(m.hexdigest())
    # 此时取出的转换结果和上面的有关系  e8e7c773a384b67bba38f225aacc3592
    # 关系是: 是和上面的 hello word拼接起来的字符串 'hello wordlily'进行加密后的结果
    
    
    m1 = hashlib.md5()
    m1.update('hello worldlily'.encode('utf8'))
    print(m1.hexdigest())   # e8e7c773a384b67bba38f225aacc3592
    
    
    # sha 系列加密算法,最常用的是 256.
    s = hashlib.sha256()
    s.update('hello world'.encode('utf8'))
    print(s.hexdigest())   # b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
    猪猪侠要努力呀!
  • 相关阅读:
    httpcontext in asp.net unit test
    initialize or clean up your unittest within .net unit test
    Load a script file in sencha, supports both asynchronous and synchronous approaches
    classes system in sencha touch
    ASP.NET MVC got 405 error on HTTP DELETE request
    how to run demo city bars using sencha architect
    sencha touch mvc
    sencha touch json store
    sencha touch jsonp
    51Nod 1344:走格子(贪心)
  • 原文地址:https://www.cnblogs.com/mlllily/p/10269493.html
Copyright © 2011-2022 走看看