目录操作
常用的目录操作主要有判断目录是否存在、创建目录、删除目录和遍历目录
os和os.path模块
python中内置os模块和其子模块os.path用于对目录获文件进行操作,使用时须先用import语句导入。
路径
用于定位一个文件或者目录的字符串称为一个路径。
相对路径就是依赖于当前工作目录的,如果在当前目录下有一个名称为message.txt的文件,那么在打开文件时,可以直接写上文件名,这就是采用的相对路径。massage.txt 文件的实际路径就是“D:\program\Python\Code\message.txt”
with open("demo/message.txt") as file: #通过相对路径打开文件
pass
绝对路径是文件的实际路径。可以通过os.path模块提供的abspath()函数获取一个文件的绝对路径。
import os
print(os.path.abspath(r"demo\message.txt"))
拼接路径,可以用os.path模块的join()函数实现
import os
print(os.path.join("E:\program\Python\Code","demo\message.txt"))
输出
E:\program\Python\Code\demo\message.txt
判断目录是否存在
用os.path模块的exists()函数实现
import os
print(os.path.exists("C:\\demo"))
如果c盘目录下没有demo子目录则返回False,否则返回True
创建目录
1、创建一级目录os模块mkdir()函数实现
import os
os.mkdir("D:\\demo")
如果创建的已存在,则抛出FileExistsError异常
2、创建多级目录,makedirs()函数实现
import os
os.makedirs("D:\\1\\2\\3\\4")
删除目录
os模块的rmdir()函数实现删除空目录
import os
os.rmdir("C:\\demo\\test\\1")
如果删除的文件不存在将抛出FileNotFoundError异常
如果删除非空目录,要用shutil模块的rmtree()函数实现
import shutil
shutil.rmtree("C:\\demo\\test")
删除test子目录及其内容
遍历目录
os模块的walk()函数实现
import os
tuples = os.walk("E:\\program\\Python\\code\\1")
for tuple1 in tuples:
print(tuple1,\n)
通过for循环输出遍历结果,输出没以及目录的元组。