Python模块——os模块详解

本文大纲

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

知识串讲

1)模块的安装和导入

# 导入import os

  • 1
  • 2
  • 1
  • 2

2)os.getcwd()

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

结果如下:

3)os.listdir(path)

  • 作用:传入任意一个path路径,返回的是该路径下所有文件和目录组成的列表;
path = r'C:\Users\黄伟\Desktop\publish\os模块\test_os模块'os.listdir(path)

  • 1
  • 2
  • 1
  • 2

结果如下:

3)os.walk(path)

  • 含义 :传入任意一个path路径,深层次遍历指定路径下的所有子文件夹,返回的是一个由路径、文件夹列表、文件列表组成的元组。我代码中写的方式属于元组拆包
  • 元组拆包:就是将一个元组中的每个值,赋值给不同的变量;
path = r'C:\Users\黄伟\Desktop\publish\os模块\test_os模块'for path,dirs,files in os.walk(path):    print(path)    print(dirs)    print(files)    print('\n')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果如下:

4)os.path.exists(path)

  • 含义:传入一个path路径,判断指定路径下的目录是否存在。存在返回True,否则返回False;
path1 = 'C:\\Users\\黄伟\\Desktop\\publish\\os模块\\huang_wei'if os.path.exists(path1): print('指定文件夹存在')else: print('指定文件夹不存在')

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果如下:

5)os.mkdir(path)

  • 含义:传入一个path路径,创建单层(单个)文件夹;
  • 注意:如果文件夹已经存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;
os.getcwd()path1 = os.getcwd()+'\\huang_wei'os.mkdir(path1)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

结果如下:

6)os.makedirs(path)

  • 含义:传入一个path路径,生成一个递归的文件夹;
  • 注意:如果文件夹存在,就会报错。因此创建文件夹之前,需要使用os.path.exists(path)函数判断文件夹是否存在;
os.getcwd()path1 = os.getcwd()+'\\huang_wei'os.mkdir(path1)

  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

结果如下:

7)os.rmdir(path)

  • 含义:传入一个path路径,删除指定路径下的文件夹;
  • 注意:该方法只能删除空文件夹,删除非空文件夹会报错;
path1 = os.getcwd()+'\\huang_wei'os.rmdir(path1)----------------------------------path2 = os.getcwd()+'\\a\\b\\c'os.rmdir(path2) 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

结果如下:

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)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

结果如下:

9)os.path.split(path)

  • 含义:传入一个完整的path路径,将其拆分为绝对路径文件名2部分;
path1 = r'C:\Users\黄伟\Desktop\publish\os模块\a.jpg'os.path.split(path1)
  • 1
  • 2
  • 1
  • 2

结果如下:

10)os.path.dirname(path)

  • 含义:传入一个完整的文件路径,只获取其绝对路径;
path1 = r'C:\Users\黄伟\Desktop\publish\os模块\a.jpg'os.path.dirname(path1)

  • 1
  • 2
  • 1
  • 2

结果如下:

11)os.path.basename(path)

  • 含义:传入一个完整的文件路径,只获取其文件名;
path1 = r'C:\Users\黄伟\Desktop\publish\os模块\a.jpg'os.path.basename(path1)
  • 1
  • 2
  • 1
  • 2

结果如下:

12)os.path.isdir(path)

  • 含义:传入一个完整的文件路径,判断它是否是文件夹;
path = os.getcwd()file_list = os.listdir()for file in file_list: if os.path.isdir(file): print(file)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

结果如下:

13)os.path.isfile(path)

  • 含义:传入一个完整的文件路径,判断它是否是文件;
path = os.getcwd()file_list = os.listdir()for file in file_list:    if os.path.isfile(file):        print(file)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

结果如下:

14)os.path.sep

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

  • 1
  • 1

结果如下:

15)os.path.getsize(path)

  • 含义:传入一个完整的文件路径,返回该文件的大小;
os.path.getsize('我创建的压缩包.zip')
  • 1
  • 1

结果如下:

(0)

相关推荐

  • 文件腾转挪移操作,那都不是事儿

    最近公众号内推送了我的系列视频教程<python文本分析:从入门到精通>,这个课程的分享原则是只讲最简单最好用的知识,用最少的时间去解决最头疼的问题.这样对于人文社科类的python初学者 ...

  • 还你系统空间的 Python 小程序

    Windows 系统用久了,磁盘中就会产生大量的"垃圾"文件.这些文件有的是程序使用过的临时文件,有的是操作记录和日志信息等.因为往往不能被有效地清理干净,越积越多,导致用户的可用 ...

  • 第26天:Python os 模块详解

    第26天:Python os 模块详解

  • Python 解决相对路径问题:“No such file or directory”

    如果你取相对路径不是在主文件里,可能就会有相对路径问题:"No such file or directory". 因为 python 的相对路径,相对的都是主文件. 如下目录结构: ...

  • 四十篇办公自动化文章的精华总结,代码可直接套用

    在过去的半年内,我总共发布了超过了40篇 「Python办公自动化」文章,不知道大家有没有发现,有一些模块.一些代码会频繁出现.而os.shutil.glob基本是每篇都会出现. 在写了几十篇文章后, ...

  • Python绝对路径和相对路径详解

    在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录. 什么是当前工作目录 每个运行在计算机上的程序,都有一个"当前工作目录"(或cwd).所有没有从根文件夹开始的文件名或 ...

  • python之OS模块详解

    python之OS模块详解常见函数列表123456789101112131415161718192021222324252627282930313233os.sep:取代操作系统特定的路径分隔符os. ...

  • 高中物理90 高分指南:6大模块解题思路详解,原来学霸这样学习

    高中物理想学好为什么这么难!同一道物理题中,可以包含了光学.电学.电磁学等几个知识点.同时做两件事很容易,把两件事都做好就很难了. 高中物理要求我们不仅需要具备严谨的逻辑思维,而且还需要非常细心.物理 ...

  • argparse模块用法实例详解

    argsparse是python的命令行解析的标准模块,内置于python,不需要安装.这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行. 港真的,今天是我第一次学习argsparse ...

  • Python3中tkinter模块使用方法详解

    转载自 覆手为云p 的博客,附上原文网址,感觉非常有用,存下档,谢谢帮助~~~ https://www.cnblogs.com/aland-1415/p/6849193.html 1.使用tkinte ...

  • IGBT模块技术参数详解

    IGBT模块技术参数详解

  • Python绘图Turtle库详解

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  • 基于python图书馆管理系统设计实例详解

    写完这个项目后,导师说这个你完全可以当作毕业项目使用了,写的很全,很多的都设计考虑周全,但我的脚步绝不止于现在,我想要的是星辰大海!与君共勉! 这个项目不是我的作业, 只是无意中被拉进来了,然后就承担 ...

  • python 通关字符串操作方法详解-大量案例

    给IT入门加星标,提升编程技能 IT入门(ID:learncode)整理  原作者:战争热诚 字符串序列用于表示和存储文本,python中字符串是不可变对象.字符串是一个有序的字符的集合,用于存储和表 ...

  • 使用OpCode绕过Python沙箱的方法详解

    0x01 OpCode opcode又称为操作码,是将python源代码进行编译之后的结果,python虚拟机无法直接执行human-readable的源代码,因此python编译器第一步先将源代码进 ...