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中使用partial改变方法默认参数实例
Apr 28 Python
Python3实现Web网页图片下载
Jan 28 Python
Python 的描述符 descriptor详解
Feb 27 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
python检索特定内容的文本文件实例
Jun 05 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
python flask中动态URL规则详解
Nov 22 Python
将keras的h5模型转换为tensorflow的pb模型操作
May 25 Python
Python常用断言函数实例汇总
Nov 30 Python
python opencv肤色检测的实现示例
Dec 21 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
python实现xml转json文件的示例代码
2020/12/30 Python
html5图片上传预览示例分享
2014/04/14 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
幼儿教师求职信
2014/05/24 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书