目录相关操作之os.chdir(),os.getcwd(),os.makedirs()
- 进入一个目录:os.chdir()
- 查看当前在什么目录下:os.getcwd()
- 创建目录:os.makedirs()
- 将路径分解为目录名和文件名:os.path.split()
- 分解文件名的扩展名:os.path.splitext()
- 判断一个路径是否有需要的文件:os.path.isfile("文件")
- 判断一个路径是否存在:os.path.isdir("路径")
- 获取目录中的文件及子目录的列表:os.listdir("路径")
- 删除子目录:os.rmdir("path"),只能删除空目录
- 连接目录与文件名或目录:os.path.join(path, name)
- 删除文件:os.remove(dir)
- 删除文件夹:os.rmdir(path)
1 1、查看当前所在目录 2 3 >>> import os 4 >>> os.getcwd() 5 6 'C:\\Users\\27349' 7 8 2、chdir改变文件路径,回到上一级目录 9 10 >>> os.chdir("..") 11 >>> os.getcwd() 12 13 'C:\\Users' 14 15 3、将文件路径改到D盘 16 17 >>> os.chdir("D:") 18 >>> os.getcwd() 19 20 'D:\\' 21 22 4、使用open打开一个文件,如果文件不存在则新建文件,目前的目录以及切换到D盘了,所以使用open的时候用相对路径即可。 23 24 >>> open("annahaha.txt","w") 25 26 <_io.TextIOWrapper name='annahaha.txt' mode='w' encoding='cp936'> 27 28 经查,'D:\\'该目录下文件annahaha.txt已经新建成功了。 29 30 5、新建层级目录: 31 32 os.makedirs("a/b/c/d") 33 34 执行之后,可以看到,层级目录a/b/c/d已经成功创建了。 35 36 6、删除层级目录,必须从最里层的目录删除掉 37 38 >>> os.removedirs("a/b/c/d") 39 40 执行之后,可以看到,层级目录a/b/c/d已经被全部删除了。 41 42 7、os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。 43 44 >>> os.rmdir("xx") 45 46 8、重命名文件夹 47 48 >>> os.rename("ab.txt","abxxx.txt")
综合练习:
建立一个10级目录的深度,每一层的目录名叫做annatest1-10
每一层目录下面,新建2个文件,文件1的文件内容是目录名,文件2下面的内容是:天气不错。
该练习做的时候需要:
1、首先把目录建好;
2、进入建好的目录去创建文件;
1 import os 2 os.chdir("D:\\qqq") 3 for i in range(1, 11): 4 # 拼接目录名称 5 dirname = "annatest" + str(i) 6 # 创建目录 7 os.mkdir(dirname) 8 # 进入到创建好的目录 9 os.chdir(dirname) 10 # 打开文件1,如果文件1不存在则新建,并在文件中中写入目录名 11 fp = open("文件1.txt", "w", encoding="utf-8") 12 fp.write(dirname) 13 fp.close() 14 # 打开文件2,如果文件2不存在则新建,并在文件2中写入固定内容:天气不错! 15 fp = open("文件2.txt", "w", encoding="utf-8") 16 fp.write("天气不错!") 17 fp.close() 18 19 # 待所有文件和目录新建好之后,则打印下面这句话 20 print("新建所有目录成功!")
运行之后的结果为: