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最基本的操作字典的方法
Apr 24 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
python 网络编程常用代码段
Aug 28 Python
Python中垃圾回收和del语句详解
Nov 15 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
详解如何管理多个Python版本和虚拟环境
May 10 Python
python pip源配置,pip配置文件存放位置的方法
Jul 12 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
jupyter 导入csv文件方式
Apr 21 Python
Python基础详解之描述符
Apr 28 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
咖啡常见的种类
2021/03/03 新手入门
社区(php&&mysql)二
2006/10/09 PHP
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
几个判断型的面试题
2012/07/03 面试题
售前工程师职业生涯规划
2014/03/02 职场文书
请假条怎么写
2014/04/10 职场文书
个人工作表现评语
2014/04/30 职场文书
开工典礼策划方案
2014/05/23 职场文书
负责人任命书范本
2014/06/04 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
归途列车观后感
2015/06/17 职场文书
详解Django中 render() 函数的使用方法
2021/04/22 Python