2019-11-27python常用模块(os、sys、hashlib)(二)

一、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、hashlib)(二))