美文网首页
2019-11-27python常用模块(os、sys、hash

2019-11-27python常用模块(os、sys、hash

作者: momohi | 来源:发表于2019-11-28 16:14 被阅读0次

    一、os模块

    os模块主要封装了关于操作系统文件系统相关的操作。比如创建文件夹,删除文件夹等

    import os

    1. os.makedirs('dirname1/dirname2') #可生成多层递归目录

    2. os.removedirs('dirname1') #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,以此类推

    3. os.mkdir("name") #创建单级目录

    4. os.rmdir("name") #删除单级目录,若目录不为空则无法删除,报错

    5. os.listdir("dirname") #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印(单级目录不包含下级的子目录)

    6. os.remove() #删除一个文件

    7. os.rename("oldname","newname")  # 重命名文件/目录

    8. os.getcwd() #获取当前工作目录,即当前python脚本的工作目录

    9. os.chdir("dirname") #改变当前脚本工作目录

    10. os.system("bash commond")    #运行shell命令直接显示

    11. os.popen("bash commond").read()  #运行shell命令,获取执行结果

    12. os.path.abspath(path)  #返回path规范化的绝对路径

    13. os.path.split(path) #将path分割成目录和文件名二元组返回

    14. os.path.dirname(path)  #返回path目录,就是os.path.split(path)的第一个元素

    15. os.path.basename(path) #返回path最后的文件名,如果文件以' / ',' \ '结尾,那么为空,否则就是os.path.split(path)的第二个元素

    16. os.path.exists(path)  #如果path存在,返回True;如果path不存在,则返回False

    17. os.path.isabs(path) #如果path是绝对路径,返回True,否则返回False

    18. os.path.isfile(path) #如果path是一个存在的文件名,返回True,否则返回False

    19. os.path.isdir(path) #如果path是一个存在的目录,返回True,否则返回False

    20. os.path.join(path[,path2[,....]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

    21. os.path.getatime(path) #返回path所指的文件或目录的最后访问时间

    22. os.path.getmtime(path) #返回path所指文件或目录的最后修改时间

    23. os.path.getsize(path) #返回path 的大小

    特殊属性

    1. os.sep #输出操作系统特定的路径分隔符,win下为“ \\ ”,Linux下为' / '

    2. os.linesep #输出当前平台使用的行终止符,win下为“ \r\n ”,Linux下为“ \n”

    3. os.pathsep #输出用于分割文件路径的字符串 win下为;Linux下为:

    4. os.name #输出字符串指示当前使用平台。 win -> " nt " ,Linux ->" posix "


    二、sys 模块

    import sys

    1. sys.argv  #命令行参数list,第一个元素是程序本身路径

    2. sys.exit(n) #退出程序,正常退出时exit(0),错误退出时sys.exit(1)

    3. sys.version #获取Python程序的版本信息

    4. sys.path #返回模块的搜索路径,初始化使用pythonpath环境变量的值

    5. sys.platform #返回操作系统平台名称


    三、hashlib 模块

    md5是一种不可逆的加密算法,在python中只需要引入hashlib模块就能完成md5的加密工作

    import hashlib

    obj =hashlib.md5()

    obj.update("人生苦短,我用Python".encoding("utf-8"))

    miwen = obj.hexdigest()

    print(miwen)

    在网站上会有md5解密工具,有些加密过后的数据会被成功的解密。这是由于撞库的问题,md5算法已经存在很久了,有些人用一些简单的排列组合来计算md5,然后出现相同的md5密文的时候会反推回来原来的数据。

    一些简单的加密结果被成功解密

    可以采用加盐的方式,在加密过程中加入一段自定义字符串,给函数的参数传入一个byte

    相关文章

      网友评论

          本文标题:2019-11-27python常用模块(os、sys、hash

          本文链接:https://www.haomeiwen.com/subject/dvwuwctx.html