os模块,sys模块,hashlib模块

1.os模块

  os模块是与操作系统交互的一个接口.

    和文件夹相关的操作:

import os
os.makedirs('a1/b2/c3/d4') #可以生成多层递归目录
os.removedirs('a/d') #递归删除空目录 有文件时则无法删除
os.mkdir('dirname') #生成单层目录
os.rmdir('dirname') #删除单层空目录,若目录不为空,则无法删除,会进行报错
print(os.listdir(r'C:\Users\Administrator\PycharmProjects\untitled'))
# 指定目录下的所有文件和子目录,包括隐藏文件并以列表方式打印,参数指的是目录的路径

     和文件的相关操作:

import os
# os.remove('na') #删除文件
# os.rename('新名字','旧名字')#修改文件/目录名字
# print(os.stat(r'C:\Users\Administrator\PycharmProjects\untitled\day15\课上练习.py'))
# print(os.stat('课上练习.py'))         #获取文件或者目录信息,参数为路径或者文件/目录名

    操作系统差异相关操作:

import os
print(repr(os.sep)) #repr 供解释读取的语法 解读代码的原身
#输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
print(repr(os.linesep))#输出用于当前平台使用的行终止符 win下为"\r\n",Linux下为"\n"
print(os.pathsep)#输出用于分割文件路径的字符串 win中;,linux下为:
print(os.name)#输出字符串当前使用平台 win显示nt linux显示 posix

    执行命令相关的操作:

import os
os.system() #这里相当于打开了一个新的shell,运行命令,命令结束后,关闭shell,参数位置为shell的命令
os.popen('bash command').read() #popen的参数是cmd命令以及r(读)模式  ****
os.environ  #获取系统环境变量

    path系列和路径相关的操作:

import os
# print(os.path.abspath('path')) #返回path规范化的绝对路径
# print(os.path.split('path'))  # ('', 'path')  将path分割成目录和文件,以元祖的形式返回
# print(os.path.dirname('path'))  #返回的是path的目录,也就是分割目录和文件后的第一个元素('', 'path')中的''
# print(os.path.basename('path')) #返回path最后的文件名,如何path以/或\结尾,那么就会返回空值.分割目录的和文件的('', 'path')的'path'
# print(os.path.exists('path')) #如果path是一个存在的文件返回True,不存在返回Flase
# print(os.path.isabs('path')) #如果path是绝对路径,返回True,不是的话返回Flase
# print(os.path.isfile('path'))#判断path是不是一个文件
# print(os.path.isdir('path')) #判断path是不是一个目录
# print(os.path.join('第一个参数从磁盘开始的路径','第二个参数要去哪'))#返回一个新的路径(将多个路径组合),第一个绝对路径之前的参数将被忽略
# print(os.path.getatime('path'))#返回path所指向的文件或者目录的最后访问时间
# print(os.path.getmtime('path'))#返回path所指向的文件或者目录的最后修改时间
# print(os.path.getsize('path')) #返回path的大小

# os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
# os.chdir() #改变脚本工作目录,相当于shell下的cd  ****
# os.curdir   #返回当前目录:('.')
# os.parcir  #获取当前目录的父目录字符串名:('..')

os.stat('path/filename') 获取文件/目录信息 的结构说明:(了解即可)

stat 结构:
st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。 

2.sys模块:

    sys模块是与python解释器交互的一个接口

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version        获取Python解释程序的版本信息
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称

3.hashlib模块

    算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。

    什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。

    摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。

    摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算f(data)很容易,但通过digest反推data却非常困难。而且,对原始数据做一个bit的修改,都会导致计算出的摘要完全不同。

    

猜你喜欢

转载自www.cnblogs.com/shicongcong0910/p/10283307.html