我们知道,要引入一个功能,需要先引入这个模块。比如使用random()随机函数,需要引入random模块。下面我们要介绍一个高大上的模块:OS模块。

OS即操作系统。由于python是跨平台语言,所以在各个操作系统下,python源码都能运行。有了OS模块,我们就不需要关心什么操作系统下使用什么模块,OS模块会帮助我们选择正确的模块并调用。

OS模块中,关于文件/目录常用的函数使用方法

'''
函数名                         使用方法
getcwd()                    返回当前工作目录
chdir(path)                 改变工作目录
listdir(path='.')           列举指定目录中的文件名('.'表示当前目录,'..'表示上一级目录)
mkdir(path)                 创建单层目录,如该目录已存在则抛出异常(参数需要字符串)
makedirs(path)              递归创建多层目录,如果该目录已经存在则抛出异常,注意:'E:\\a\\b' 和 'E:\\a\\c' 并不会冲突
remove(path)                删除文件
rmdir(path)                 删除单层目录,如该目录非空则抛出异常
removedirs(path)            递归删除目录,从子目录到父目录逐层尝试删除,遇目
                            录非空则抛出异常
rename(old, new)            将文件old重命名为new
system(command)             运行系统的shell命令
'''

语法格式: os.方法名

支持路径操作系统中常用到的一些定义,支持所有平台

'''
os.curdir                     指代当前目录( '.' )
os.pardir                     指代上一级目录( '..' )
os.sep                        输出操作系统特定的路径分隔符(Win下为'\\', Linux下为'/')
os.linesep                    当前平台使用的行终止符(Win下为'\r\n',Linux下为'\n')
os.name                       指代当前使用的操作系统(包括:'posix', 'nt', 'mac', 'os2', 'ce', 'java')
'''

这些不用全部背下来,要用的时候查就可以了,只要知道怎么用就可以。举例:

import os                 #【注意】一定要导入os包,否则不能运行!
print( os.getcwd() )      #【输出】C:\Users\leopold\Desktop
print( os.name )          #【输出】nt

下面介绍os.path模块,这个模块和前面的os模块不是一个东西,所以在使用下面的函数的时候
要加上os.path.*

'''
函数名                                          使用方法
basename( path )                        去掉目录路径,单独返回文件名
dirname( path )                         去掉文件名,单独返回目录路径
join( path1[,path2[,.....]] )           将path1,path2各部分组合成一个路径名
split( path )                           分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在
splitext( path )                        分离文件名与扩展名,返回(f_name, f_extension)元组
getsize( file )                         返回指定文件的尺寸,单位是字节
getatime( file )                        返回指定文件的最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
getctime( file )                        返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime() 或 localtime()函数换算 )
getmtime( file )                        返回指定文件最新的修改时间( 浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
-------------------------------------------------------------------------------------------------------------------------
                               以下函数返回Ture或False
-------------------------------------------------------------------------------------------------------------------------
exists( path )                          判断指定路径(目录或文件 )是否存在
isabs( path )                           判断指定路径是否为绝对路径
isdir( path )                           判断指定路径是否存在且是一个目录
isfile( path )                          判断指定路径是否存在且是一个文件
islink( path )                          判断指定路径是否存在且是一个符号链接
ismount(path)                           判断指定路径是否存在且是一个挂载点,ps:挂载点实际上就是linux中的磁盘文件系统的入口目录,类似于windows中的用来访问不同分区的C:、D:、E:等盘符
samefile( path1, path2 )                判断path1和path2两个路径是否指向同一个文件
'''
举几个例子说明用法:
#【前面已经导入过os包了,这里不再重复导入】
a = os.path.basename('C:\\Users\\leopold\\Desktop\\class30.py')
print(a)    #【输出】class30.py
#【注意】路径里的斜杠一定要是双斜杠!否则报错!
#后面的函数使用方法和上面的例子大同小异,不再赘述