本文大纲

os模块是Python中整理文件和目录最为常用的模块,该模块提供了非常丰富的方法用来处理文件和目录。本着只讲最有用的态度,下方我将os模块中一些我经常用的的方法,给大家详细列举出来了,希望减少大家的学习负担
在这里插入图片描述

知识串讲

1)模块的安装和导入
# 导入
import os
2)os.getcwd()
  • 作用:获取当前的工作路径;

    os.getcwd()

结果如下:
在这里插入图片描述

3)os.listdir(path)
  • 作用:传入任意一个path路径,返回的是该路径下所有文件和目录组成的列表;

    path = r"C:Users黄伟Desktoppublishos模块 est_os模块"
    os.listdir(path)

结果如下:
在这里插入图片描述

3)os.walk(path)
  • 含义 :传入任意一个path路径,深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。我代码中写的方式属于元组拆包

  • 元组拆包:就是将一个元组中的每个值,赋值给不同的变量;

    path = r"C:Users黄伟Desktoppublishos模块 est_os模块"
    for path,dirs,files in os.walk(path):
    print(path)
    print(dirs)
    print(files)
    print("
    ")

结果如下:
在这里插入图片描述

4)os.path.exists(path)
  • 含义:传入一个path路径,判断指定路径下的目录是否存在。存在返回True,否则返回False;

    path1 = ‘C:\Users\黄伟\Desktop\publish\os模块\huang_wei’

    if os.path.exists(path1):
    print(“指定文件夹存在”)
    else:
    print(“指定文件夹不存在”)

结果如下:
在这里插入图片描述

5)os.mkdir(path)
  • 含义:传入一个path路径,创建单层(单个)文件夹;

  • 注意:如果文件夹已经存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;

    os.getcwd()
    path1 = os.getcwd()+“\huang_wei”
    os.mkdir(path1)

结果如下:
在这里插入图片描述

6)os.makedirs(path)
  • 含义:传入一个path路径,生成一个递归的文件夹;

  • 注意:如果文件夹存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;

    os.getcwd()
    path1 = os.getcwd()+“\huang_wei”
    os.mkdir(path1)

结果如下:
在这里插入图片描述

7)os.rmdir(path)
  • 含义:传入一个path路径,删除指定路径下的文件夹;

  • 注意:该方法只能删除空文件夹,删除非空文件夹会报错;

    path1 = os.getcwd()+“\huang_wei”
    os.rmdir(path1)

    path2 = os.getcwd()+“\a\b\c”
    os.rmdir(path2)

结果如下:
在这里插入图片描述

8)os.path.join(path1,path2)
  • 含义:传入两个path路径,将该路径拼接起来,形成一个新的完整路径;

    path = os.getcwd()
    lis = [“a.jpg”,“b.jpg”,“c.jpg”]
    for i in lis:
    x = os.path.join(path,i)
    print(x)

结果如下:
在这里插入图片描述

9)os.path.split(path)
  • 含义:传入一个完整的path路径,将其拆分为绝对路径文件名2部分;

    path1 = r"C:Users黄伟Desktoppublishos模块a.jpg"
    os.path.split(path1)

结果如下:
在这里插入图片描述

10)os.path.dirname(path)
  • 含义:传入一个完整的文件路径,只获取其绝对路径;

    path1 = r"C:Users黄伟Desktoppublishos模块a.jpg"
    os.path.dirname(path1)

结果如下:
在这里插入图片描述

11)os.path.basename(path)
  • 含义:传入一个完整的文件路径,只获取其文件名;

    path1 = r"C:Users黄伟Desktoppublishos模块a.jpg"
    os.path.basename(path1)

结果如下:
在这里插入图片描述

12)os.path.isdir(path)
  • 含义:传入一个完整的文件路径,判断它是否是文件夹;

    path = os.getcwd()
    file_list = os.listdir()
    for file in file_list:
    if os.path.isdir(file):
    print(file)

结果如下:
在这里插入图片描述

13)os.path.isfile(path)
  • 含义:传入一个完整的文件路径,判断它是否是文件;

    path = os.getcwd()
    file_list = os.listdir()
    for file in file_list:
    if os.path.isfile(file):
    print(file)

结果如下:
在这里插入图片描述

14)os.path.sep
  • 含义:返回当前操作系统的路径分隔符;

    os.path.sep

结果如下:
在这里插入图片描述

15)os.path.getsize(path)
  • 含义:传入一个完整的文件路径,返回该文件的大小;

    os.path.getsize(“我创建的压缩包.zip”)

结果如下:
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐