Python中os模块功能与用法详解


Posted in Python onFebruary 26, 2020

本文实例讲述了Python中os模块功能与用法。分享给大家供大家参考,具体如下:

OS模块

Python的os模块封装了常见的文件和目录操作,本文只是列出部分常用的方法,更多的方法可以查看官方文档。

下面是部分常见的用法:

方法 说明
os.mkdir 创建目录
os.rmdir 删除目录
os.rename 重命名
os.remove 删除文件
os.getcwd 获取当前工作路径
os.walk 遍历目录
os.path.join 连接目录与文件名
os.path.split 分割文件名与目录
os.path.abspath 获取绝对路径
os.path.dirname 获取路径
os.path.basename 获取文件名或文件夹名
os.path.splitext 分离文件名与扩展名
os.path.isfile 判断给出的路径是否是一个文件
os.path.isdir 判断给出的路径是否是一个目录

例子

后文的例子以下面的目录结构为参考,工作目录为/Users/ethan/coding/python。

Python中os模块功能与用法详解 
看看例子:

  • os.path.abspath:获取文件或目录的绝对路径
$ pwd
/Users/ethan/coding/python
$ python
>>> import os             # 记得导入 os 模块
>>> os.path.abspath('hello.py')
'/Users/ethan/coding/python/hello.py'
>>> os.path.abspath('web')
'/Users/ethan/coding/python/web'
>>> os.path.abspath('.')        # 当前目录的绝对路径
'/Users/ethan/coding/python'
  • os.path.dirname:获取文件或文件夹路径
>>> os.path.dirname('/Users/ethan/coding/python/hello.py')
'/Users/ethan/coding/python'
>>> os.path.dirname('/Users/ethan/coding/python/')
'/Users/ethan/coding/python'
>>> os.path.dirname('/Users/ethan/coding/python')
'/Users/ethan/coding'
  • os.path.basename:获取文件名或文件夹名
>>> os.path.basename('/Users/ethan/coding/python/hello.py')
'hello.py'
>>> os.path.basename('/Users/ethan/coding/python/')
''
>>> os.path.basename('/Users/ethan/coding/python')
'python'
  • os.path.splitext:分离文件名与扩展名
>>> os.path.splitext('/Users/ethan/coding/python/hello.py')
('/Users/ethan/coding/python/hello', '.py')
>>> os.path.splitext('/Users/ethan/coding/python')
('/Users/ethan/coding/python', '')
>>> os.path.splitext('/Users/ethan/coding/python/')
('/Users/ethan/coding/python/', '')
  • os.path.split:分离目录与文件名
>>> os.path.split('/Users/ethan/coding/python/hello.py')
('/Users/ethan/coding/python', 'hello.py')
>>> os.path.split('/Users/ethan/coding/python/')
('/Users/ethan/coding/python', '')
>>> os.path.split('/Users/ethan/coding/python')
('/Users/ethan/coding', 'python')
  • os.path.isfile/os.path.isdir:判断当前路径是否是一个文件或文件夹
>>> os.path.isfile('/Users/ethan/coding/python/hello.py')
True
>>> os.path.isdir('/Users/ethan/coding/python/')
True
>>> os.path.isdir('/Users/ethan/coding/python')
True
>>> os.path.isdir('/Users/ethan/coding/python/hello.py')
False
  • os.walk:遍历目录

    os.walk 是遍历目录常用的模块,它返回一个包含 3 个元素的元祖:(dirpath, dirnames, filenames)。dirpath 是以 string 字符串形式返回该目录下所有的绝对路径;dirnames 是以列表 list 形式返回每一个绝对路径下的文件夹名字;filesnames 是以列表 list 形式返回该路径下所有文件名字。

>>> for root, dirs, files in os.walk('/Users/ethan/coding'):
...   print root
...   print dirs
...   print files
...
/Users/ethan/coding
['python']
[]
/Users/ethan/coding/python
['web2']
['hello.py']
/Users/ethan/coding/python/web2
[]
[]

参考资料

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python连接池实现示例程序
Nov 26 Python
Python中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
使用Python发送邮件附件以定时备份MySQL的教程
Apr 25 Python
Python做简单的字符串匹配详解
Mar 21 Python
Python实现登录接口的示例代码
Jul 21 Python
Python生成器以及应用实例解析
Feb 08 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
python下载卫星云图合成gif的方法示例
Feb 18 Python
Python如何操作docker redis过程解析
Aug 10 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
python 如何停止一个死循环的线程
Nov 24 Python
python中翻译功能translate模块实现方法
Dec 17 Python
Python中sys模块功能与用法实例详解
Feb 26 #Python
Python线程threading模块用法详解
Feb 26 #Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 #Python
Python基础之字典常见操作经典实例详解
Feb 26 #Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 #Python
python解释器pycharm安装及环境变量配置教程图文详解
Feb 26 #Python
Python如何使用turtle库绘制图形
Feb 26 #Python
You might like
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
学习php设计模式 php实现适配器模式
2015/12/07 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
Python 学习笔记
2008/12/27 Python
Python的词法分析与语法分析
2013/05/18 Python
Python中无限元素列表的实现方法
2014/08/18 Python
python迭代器与生成器详解
2016/03/10 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
COS美国官网:知名服装品牌
2019/04/08 全球购物
党员批评与自我批评(5篇)
2014/09/23 职场文书
导游词之潮音寺
2019/09/26 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
修改并编译golang源码的操作步骤
2021/07/25 Golang
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技