Python的os包与os.path模块的用法详情

 更新时间:2022年03月01日 10:37:48   作者:Mar丶流年  
这篇文章主要介绍了Python的os包与os.path模块,主要介绍os常用方法和os.path 常用方法展开相关资料,需要的小伙伴可以参考一下,希望对你的工作或学习有所帮助

一、os常用方法

1.获取当前路径 os.getcwd()

# coding:utf-8
import os
if __name__ == '__main__':
    print(os.getcwd())  # G:\workSpace\py_d

2.获取指定路径下有哪些文件和目录,os.listdir(path)返回一个list

# coding:utf-8

import os

if __name__ == '__main__':
    print(os.listdir(os.getcwd()))  # ['.idea', 'main.py', 'os_module.py', 'sk']

3.创建目录(一级) os.mkdir(paht)

os.mkdir(path) 创建目录:

 以下两种情况会报错:

  •  2.要创建目录的上级目录不存在(a不存在,则不能创建b目录)
  •  3.要创建的目录已存在(b存在,则不能创建b目录)
# coding:utf-8

import os

if __name__ == '__main__':

    os.mkdir('sk/a/b')  # 在当前sk/a 目录中创建b目录
    # os.mkdir(os.path.join(os.getcwd(), 'sk', 'a', 'b')) 和上面的一样,只不过换成了绝对路径

4.删除文件 os.remove(path)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.remove(path)
    要求path是文件且存在
    """
    os.remove("sk/a/b/503.py")
    # os.remove(os.path.join(os.getcwd(), 'sk', 'a', 'b', '503.py')) 和上面的一样,只不过路径换成绝对路径了

5.递归删除空目录 os.removedirs(path)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.removedirs(path)
    如果最底层目录不是空目录直接报错(s2不是空目录则报错)
    从最第底层目录开始删,一直删到最上层目录(先删s2,再删s1),当要删除的目录不是空目录时停止(s1不是空目录则停止)
    """
    os.removedirs('s1/s2')
    # os.removedirs(os.path.join(os.getcwd(), 's1', 's2')) 和上面的一样,只不过使用了绝对路径

6.删除空目录 os.rmdir(path)

# coding:utf-8

import os

if __name__ == '__main__':

    """
      os.rmdir(path)
      path不存在且不是空目录则报错
    """
    os.rmdir('s1/s2')

7.创建多级目录 os.makedirs(path)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.makedirs(path,exists_ok=False) 创建多级目录
    如果path目录已存在则报错,可以设置exist_ok 参数来抑制错误,exist_ok不等于False就不会抛出异常
    """
    os.makedirs("s1/s3")
    os.makedirs("s1/s3", exist_ok=True)

二、os.path 常用方法

1.路径拼接 os.path.join(path1,path2…)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.path.join(path1,path2......)
    将多个路径拼接形成新的路径
    """
    print(os.path.join(os.getcwd(), 's1', 's2'))  # G:\workSpace\py_d\s1\s2

2.路径分离 os.path.split(path) 返回tuple

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.path.split(path) 分割路径,返回一个tuple,由两个元素构成
    第2个元素是path中最后一层的目录或者文件
    第1个元素是path中除去第二个元素后剩余的路径,可以为空字符串
    """
    path = os.path.join(os.getcwd(), 's1', 's2')
    print(path)  # G:\workSpace\py_d\s1\s2.my
    print(os.path.split(path))  # ('G:\\workSpace\\py_d\\s1', 's2.my')
    print(os.path.split('dir1'))  # ('', 'dir1')

3.判断是否是目录 os.path.isdir(path)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.path.is_dir(path) 判断路径是不是目录,当路径不存在也返回False
    """
    print(os.path.isdir(os.getcwd()))  # True
    print(os.path.isdir(os.path.join(os.getcwd(), 'main.py')))  # False 这是文件
    print(os.path.isdir('http://xxx.com'))  # 不存在也返回False

4.判断是否是文件 os.path.isfile(paht)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.path.is_file(path) 判断路径是不是文件,当路径不存在也返回False
    """

    print(os.path.isfile(os.getcwd()))  # False 这是目录
    print(os.path.isfile(os.path.join(os.getcwd(), 'main.py')))  # True 是文件
    print(os.path.isfile(os.path.join(os.getcwd(), 'abc')))  # False 不存在也返回False

5.判断路径是否存在 os.path.exists(path)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.path.exists(path) 判断路径是不是文件,当路径不存在也返回False
    """

    print(os.path.exists(os.path.join(os.getcwd(), 'main.py')))  # True main.py存在
    print(os.path.exists(os.path.join(os.getcwd(), 'abc.py')))  # False abc.py 不存在

6.判断路径是不是绝对路径 os.path.isabs(path)

# coding:utf-8

import os

if __name__ == '__main__':

    """
    os.path.abs(path) 判断路径是不是绝对路径,与存不存在无关
    """
    print(os.getcwd())  # G:\workSpace\py_d
    print(os.path.isabs(os.path.join(os.getcwd(), 'main.py')))  # True main.py存在
    print(os.path.isabs(os.path.join(os.getcwd(), 'abc.py')))   # True abc.py不存在
    print(os.path.isabs('a/b/c'))  # False

到此这篇关于Python的os包与os.path模块详情的文章就介绍到这了,更多相关Python的os包和os.path模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Matplotlib使用Cursor实现UI定位的示例代码

    Matplotlib使用Cursor实现UI定位的示例代码

    这篇文章主要介绍了Matplotlib使用Cursor实现UI定位的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Python的argparse库使用详解

    Python的argparse库使用详解

    argparse是python标准库里面用来处理命令行参数的库,这篇文章主要介绍了Python的argparse库使用详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • python 生成器协程运算实例

    python 生成器协程运算实例

    下面小编就为大家带来一篇python 生成器协程运算实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • python使用time、datetime返回工作日列表实例代码

    python使用time、datetime返回工作日列表实例代码

    这篇文章主要介绍了python使用time、datetime返回工作日列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • PyCharm导入python项目并配置虚拟环境的教程详解

    PyCharm导入python项目并配置虚拟环境的教程详解

    这篇文章主要介绍了Pycharm导入python项目并配置虚拟环境的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Pytorch实现Fashion-mnist分类任务全过程

    Pytorch实现Fashion-mnist分类任务全过程

    这篇文章主要介绍了Pytorch实现Fashion-mnist分类任务全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • python用socket实现协议TCP长连接框架

    python用socket实现协议TCP长连接框架

    大家好,本篇文章主要讲的是python用socket实现协议TCP长连接框架,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 增大python字体的方法步骤

    增大python字体的方法步骤

    在本篇文章里小编给大家整理了关于增大python字体的方法步骤,需要的朋友们可以学习下。
    2020-07-07
  • python多线程并发及测试框架案例

    python多线程并发及测试框架案例

    这篇文章主要介绍了python多线程并发及测试框架案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python教程网络爬虫及数据可视化原理解析

    python教程网络爬虫及数据可视化原理解析

    这篇文章主要为大家介绍了python教程中网络爬虫及数据可视化原理的示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-10-10

最新评论