1、简介
OS模块是python中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。
知识串讲:
1)模块的安装和导入
import os
2)os.getcwd()
作用:返回当前的工作路径;
import os os.getcwd() print("当前目录"+os.getcwd())
控制台输出结果
3)os.listdir(path)
作用:传入任意一个path路径,返回的是该路径下所有文件和目录
组成的列表;
import os path = "D:\pythonProject\ming\day01" os.listdir(path) for filename in os.listdir(path): print(filename)
控制台输出结果
4)os.walk(path)
含义 :传入任意一个path路径,深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。我代码中写的方式属于元组拆包
;
元组拆包
:就是将一个元组中的每个值,赋值给不同的变量;
import os path = "D:\pythonProject\ming\day01" os.walk(path) for path,dirs,files in os.walk(path): print(path) print(dirs) print(files) print("\n")
控制台输出结果
5)os.path.exists(path)
含义:传入一个path路径,判断指定路径下的目录是否存在。存在返回True,否则返回False
import os path = "D:\pythonProject\ming\day01" os_t = os.path.exists(path) if os_t: print("指定目录存在") else: print("指定目录不存在")
控制台输出结果
6)os.mkdir(path)
含义:传入一个path路径,创建单层(单个)文件夹;
注意:如果文件夹已经存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;
import os os.mkdir("test")
控制台输出结果
7)os.makedirs(path)
含义:传入一个path路径,生成一个递归的文件夹;
注意:如果文件夹存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;
import os path = os.getcwd()+"011" os.makedirs(path)
控制台输出结果
8)os.rmdir(path)
含义:传入一个path路径,删除指定路径下的文件夹;
注意:该方法只能删除空文件夹,删除非空文件夹会报错;
import os path = os.getcwd()+"011" os.rmdir(path)
9)os.path.join(path1,path2)
含义:传入两个path路径,将该路径拼接起来,形成一个新的完整路径;
import os path = os.getcwd() lis = ["a.txt","b.txt","c.txt"] for i in lis: x = os.path.join(path,i) print(x)
控制台输出结果
10)os.path.split(path)
含义:传入两个path路径,将该路径拼接起来,形成一个新的完整路径;
import os path = os.getcwd() os.path.split(path) print(os.path.split(path))
控制台输出结果
11)os.path.dirname(path)
含义:传入一个完整的文件路径,只获取其绝对路径;
import os path = "D:\pythonProject\ming\day01\demo.py" os.path.dirname(path) print(os.path.dirname(path))
控制台输出结果
12)os.path.basename(path)
含义:传入一个完整的文件路径,只获取其文件名;
import os path = "D:\pythonProject\ming\day01\demo.py" os.path.basename(path) print(os.path.basename(path))
控制台输出结果
13)os.path.isdir(path)
含义:传入一个完整的文件路径,判断它是否是文件夹
import os path = "D:\pythonProject" file_list = os.listdir() for file in file_list: if os.path.isdir(file): print(file)
控制台输出结果
14)os.path.isfile(path)
含义:传入一个完整的文件路径,判断它是否是文件;
import os path = os.getcwd() file_list = os.listdir() for file in file_list: if os.path.isfile(file): print(file)
控制台输出结果
15)os.path.sep
含义:返回当前操作系统的路径分隔符;
import os os.path.sep print(os.path.sep)
控制台输出结果
16)os.path.getsize(path)
含义:传入一个完整的文件路径,返回该文件的大小;
import os a = os.path.getsize("sys_mode.py") print(a)