自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
目录也称文件夹,用于分层保存文件。通过目录可以分门别类地存放文件。我们也可以通过目录快速找到想要的文件。在Python中,并没有提供直接操作目录的函数或者对象,而是需要使用内置的os和os.path模块实现。
说明:os模块是Python内置的与操作系统功能和文件系统相关的模块。该模块中的语句的执行结果通常与操作系统有关,在不同操作系统上运行,可能会得到不一样的结果。
常用的目录操作主要有判断目录是否存在、创建目录、删除目录和遍历目录等,本节将详细介绍。
说明:这里的内容都是以Windows操作系统为例进行介绍的,所以代码的执行结果也都是在Windows操作系统下显示的。
在Python中,内置了os模块及其子模块os.path用于对目录或文件进行操作。在使用os模块或者os.path模块时,需要先应用import语句将其导入,然后才可以应用它们提供的函数或者变量。
导入os模块可以使用下面的代码:
import os
说明:导入os模块后,也可以使用其子模块os.path。
导入os模块后,可以使用该模块提供的通用变量获取与系统有关的信息。常用的变量有以下几个:
l name:用于获取操作系统类型。
例如,在Windows操作系统下输出os.name,将显示如图17所示的结果。
图17 显示os.name的结果
说明:如果os.name的输出结果为nt,则表示是Windows操作系统;如果是posix,则表示是Linux、Unix或Mac OS操作系统。
l linesep:用于获取当前操作系统上的换行符。
例如,在Windows操作系统下输出os.linesep,将显示如图18所示的结果。
图18 显示os.linesep的结果
l sep:用于获取当前操作系统所使用的路径分隔符。
例如,在Windows操作系统下输出os.sep,将显示如图19所示的结果。
图19 显示os.sep的结果
os模块还提供了一些操作目录的函数,如表2所示。
表2 os模块提供的与目录相关的函数
函 数 | 说 明 |
getcwd() | 返回当前的工作目录 |
listdir(path) | 返回指定路径下的文件和目录信息 |
mkdir(path [,mode]) | 创建目录 |
makedirs(path1/path2……[,mode]) | 创建多级目录 |
rmdir(path) | 删除目录 |
removedirs(path1/path2……) | 删除多级目录 |
chdir(path) | 把path设置为当前工作目录 |
walk(top[,topdown[,onerror]]) | 遍历目录树,该方法返回一个元组,包括所有路径名、所有目录列表和文件列表3个元素 |
os.path模块也提供了一些操作目录的函数,如表3所示。
表3 os.path模块提供的与目录相关的函数
函 数 | 说 明 |
abspath(path) | 用于获取文件或目录的绝对路径 |
exists(path) | 用于判断目录或者文件是否存在,如果存在则返回True,否则返回False |
join(path,name) | 将目录与目录或者文件名拼接起来 |
splitext() | 分离文件名和扩展名 |
basename(path) | 从一个目录中提取文件名 |
dirname(path) | 从一个路径中提取文件路径,不包括文件名 |
isdir(path) | 用于判断是否为有效路径 |