赞
踩
os主要是用来处理文件和目录
下面代码中涉及到的 D:\test\ 目录下的文件结构为:
主要的方法:
1.获取当前的工作路径:os.getcwd()
- import os
- # 获取当前工作路径
- print(os.getcwd())
运行结果为:
2.获取文件列表:
os.listdir() 直接返回指定路径下,文件和文件夹组成的列表
- import os
- # 获取指定路径下的文件和文件夹
- # 注:获取不到子文件夹里的文件
- dirs = os.listdir(r"D:\test")
- print(type(dirs))
- for dir_ in dirs:
- print(dir_)
运行结果为:
os.walk() 传入一个path,获取每个层文件夹下的文件路径、文件夹列表、文件列表
注:walk方法,返回的是一个生成器,达到节省内存的效果。同时它还可以获得每一个子文件夹下的文件
- import os
- dirs = os.walk(r"D:\test")
- print(type(dirs))
- for dir_ in dirs:
- print(dir_)
运行结果为:
对返回的生成器遍历输出,输出的是元组,每一个元组的含义为:
第一个元素:路径名称的字符串
第二个元素:该路径下子文件夹名称的列表
第三个元素:该路径下文件名称的列表
3. 判断某个文件夹是否存在:os.path.exists()
存在则返回True,不存在则返回False
- import os
- # 判断文件夹是否存在
- flag = os.path.exists(r"D:\test")
- print(flag)
- flag = os.path.exists(r"D:\test1")
- print(flag)
运行结果为:
4. 创建文件夹:
os.mkdir() 创建一个新的文件夹
os.makedirs() 递归创建文件夹
这两个方法的区别在于,创建多层文件夹时,使用makedirs不会报错,但是使用mkdir就会报错;创建单层文件夹时,不管使用哪一个方法都不会报错;
- import os
- os.mkdir(r"D:\test\4\5")
运行结果为:
- import os
- os.makedirs(r"D:\test\4\5")
- os.makedirs(r"D:\test\6")
- os.mkdir(r"D:\test\7")
运行程序后,test文件的目录树变为:
5. 删除文件夹:os.rmdir()
注:这个方法不能递归删除文件夹
- import os
- os.rmdir(r"D:\test\4")
如果这个文件下有文件,就会删除失败:
如果这个文件下没有文件,就能删除成功:
- import os
- os.rmdir(r"D:\test\6")
- os.rmdir(r"D:\test\7")
删除后,目录结果为:
6. 路径拼接与切分:
os.path.join()路径拼接
os.path.split()路径切分
- import os
- path1 = r"D:\test\2\3"
- path2 = r"4"
- path = os.path.join(path1,path2)
- print(path)
- path_res = os.path.split(path1)
- print(path_res)
运行结果为:
7. 单独获取文件的绝对路径、文件名:
os.path.dirname()返回文件的绝对路径
os.path.basename()返回绝对路径下的文件名
- import os
- # 获取指定文件的绝对路径
- path_name = os.path.dirname(os.path.join(r"D:\test",r"1\4.txt"))
- print(path_name)
- # 获取指定绝对路径下的文件名
- path_names = os.path.basename(r"D:\test")
- print(path_names)
运行结果为:
8. 判断是文件or文件夹:
os.path.isdir()判断是否为文件夹
os.path.isfile()判断是否为文件
两个方法都是是的话返回True,不是的话返回False
- import os
- res = os.path.isdir(r"D:\test")
- print(res)
- res = os.path.isfile(r"D:\test")
- print(res)
运行结果为:
9. 其他的一些操作:
os.sep() 返回当前操作系统的路径分隔符
os.path.getsize(文件) 获取文件大小
注意:如果传入的路径是文件夹,不管他多大,返回的都是0
- import os
- # 返回当前操作系统的路径分隔符
- print(os.sep) # \
- # 获取文件大小
- print(os.path.getsize(r"D:\test\1.txt"))
- print(os.path.getsize(r"D:\test"))
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。