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发送arp欺骗攻击代码分析
Jan 16 Python
Django框架中方法的访问和查找
Jul 15 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
解读! Python在人工智能中的作用
Nov 14 Python
linux环境下的python安装过程图解(含setuptools)
Nov 22 Python
python thrift搭建服务端和客户端测试程序
Jan 17 Python
python使用pdfminer解析pdf文件的方法示例
Dec 20 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
Python设计模式之装饰模式实例详解
Jan 21 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
python实现超市商品销售管理系统
Nov 22 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 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
一些星际专用术语解释
2020/03/04 星际争霸
php中的常用魔术方法汇总
2016/02/14 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
利用腾讯的ip地址库做ip物理地址定位
2010/07/24 Javascript
JS重要知识点小结
2011/11/06 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python计算两个数的百分比方法
2018/06/29 Python
对python字典过滤条件的实例详解
2019/01/22 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python绘制数码晶体管日期
2021/02/19 Python
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
什么是.net
2015/08/03 面试题
支部书记四风对照材料
2014/08/28 职场文书
签订劳动合同通知书
2015/04/16 职场文书
家属联谊会致辞
2015/07/31 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python
JavaScript流程控制(循环)
2021/12/06 Javascript