我们知道,要引入一个功能,需要先引入这个模块。比如使用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
#【注意】路径里的斜杠一定要是双斜杠!否则报错!
#后面的函数使用方法和上面的例子大同小异,不再赘述