当前位置:   article > 正文

Python第三方库——os_python第三方库os

python第三方库os

os主要是用来处理文件和目录

下面代码中涉及到的 D:\test\ 目录下的文件结构为:

主要的方法:

1.获取当前的工作路径:os.getcwd()

  1. import os
  2. # 获取当前工作路径
  3. print(os.getcwd())

运行结果为:

2.获取文件列表:

        os.listdir()  直接返回指定路径下,文件和文件夹组成的列表

  1. import os
  2. # 获取指定路径下的文件和文件夹
  3. # 注:获取不到子文件夹里的文件
  4. dirs = os.listdir(r"D:\test")
  5. print(type(dirs))
  6. for dir_ in dirs:
  7. print(dir_)

运行结果为:


        os.walk()   传入一个path,获取每个层文件夹下的文件路径、文件夹列表、文件列表

         注:walk方法,返回的是一个生成器,达到节省内存的效果。同时它还可以获得每一个子文件夹下的文件

  1. import os
  2. dirs = os.walk(r"D:\test")
  3. print(type(dirs))
  4. for dir_ in dirs:
  5. print(dir_)

运行结果为:

对返回的生成器遍历输出,输出的是元组,每一个元组的含义为:

        第一个元素:路径名称的字符串

        第二个元素:该路径下子文件夹名称的列表

        第三个元素:该路径下文件名称的列表

3. 判断某个文件夹是否存在:os.path.exists()

        存在则返回True,不存在则返回False

  1. import os
  2. # 判断文件夹是否存在
  3. flag = os.path.exists(r"D:\test")
  4. print(flag)
  5. flag = os.path.exists(r"D:\test1")
  6. print(flag)

运行结果为:

4. 创建文件夹:

        os.mkdir()        创建一个新的文件夹
        os.makedirs()  递归创建文件夹

         这两个方法的区别在于,创建多层文件夹时,使用makedirs不会报错,但是使用mkdir就会报错;创建单层文件夹时,不管使用哪一个方法都不会报错;

  1. import os
  2. os.mkdir(r"D:\test\4\5")

运行结果为:

  1. import os
  2. os.makedirs(r"D:\test\4\5")
  3. os.makedirs(r"D:\test\6")
  4. os.mkdir(r"D:\test\7")

 运行程序后,test文件的目录树变为:

5. 删除文件夹:os.rmdir()

 注:这个方法不能递归删除文件夹

  1. import os
  2. os.rmdir(r"D:\test\4")

如果这个文件下有文件,就会删除失败:

如果这个文件下没有文件,就能删除成功:

  1. import os
  2. os.rmdir(r"D:\test\6")
  3. os.rmdir(r"D:\test\7")

 删除后,目录结果为:

6. 路径拼接与切分:

        os.path.join()路径拼接
        os.path.split()路径切分

  1. import os
  2. path1 = r"D:\test\2\3"
  3. path2 = r"4"
  4. path = os.path.join(path1,path2)
  5. print(path)
  6. path_res = os.path.split(path1)
  7. print(path_res)

运行结果为:

 7. 单独获取文件的绝对路径、文件名:

        os.path.dirname()返回文件的绝对路径
        os.path.basename()返回绝对路径下的文件名

  1. import os
  2. # 获取指定文件的绝对路径
  3. path_name = os.path.dirname(os.path.join(r"D:\test",r"1\4.txt"))
  4. print(path_name)
  5. # 获取指定绝对路径下的文件名
  6. path_names = os.path.basename(r"D:\test")
  7. print(path_names)

运行结果为:

 8. 判断是文件or文件夹:

        os.path.isdir()判断是否为文件夹
        os.path.isfile()判断是否为文件

        两个方法都是是的话返回True,不是的话返回False

  1. import os
  2. res = os.path.isdir(r"D:\test")
  3. print(res)
  4. res = os.path.isfile(r"D:\test")
  5. print(res)

运行结果为:

9. 其他的一些操作:

        os.sep()     返回当前操作系统的路径分隔符
        os.path.getsize(文件)     获取文件大小
        注意:如果传入的路径是文件夹,不管他多大,返回的都是0

  1. import os
  2. # 返回当前操作系统的路径分隔符
  3. print(os.sep) # \
  4. # 获取文件大小
  5. print(os.path.getsize(r"D:\test\1.txt"))
  6. print(os.path.getsize(r"D:\test"))

运行结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/729688
推荐阅读
相关标签
  

闽ICP备14008679号