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函数学习笔记
Oct 07 Python
讲解Python中fileno()方法的使用
May 24 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
python监测当前联网状态并连接的实例
Dec 18 Python
python 三元运算符使用解析
Sep 16 Python
Django 404、500页面全局配置知识点详解
Mar 10 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 Python
python 爬取华为应用市场评论
May 29 Python
Python torch.flatten()函数案例详解
Aug 30 Python
Python+DeOldify实现老照片上色功能
Jun 21 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/04 新手入门
main.php
2006/12/09 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
python使用arp欺骗伪造网关的方法
2015/04/24 Python
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
内业资料员岗位职责
2014/01/04 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
高一生物教学反思
2014/01/17 职场文书
家长对孩子评语
2014/01/30 职场文书
护士实习求职信
2014/06/22 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫