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 01 Python
Python命令行参数解析模块getopt使用实例
Apr 13 Python
Python使用Scrapy爬取妹子图
May 28 Python
python中enumerate函数遍历元素用法分析
Mar 11 Python
python写入已存在的excel数据实例
May 03 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
python__name__原理及用法详解
Nov 02 Python
在python中创建指定大小的多维数组方式
Nov 28 Python
Python插件机制实现详解
May 04 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
弄清Pytorch显存的分配机制
Dec 10 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/05 新手入门
编写PHP的安全策略
2006/10/09 PHP
用ODBC的分页显示
2006/10/09 PHP
刚才在简化php的库,结果发现很多东西
2006/12/31 PHP
php防注
2007/01/15 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
jQuery技巧总结
2011/01/01 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
js的2种继承方式详解
2014/03/04 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
初步解析Python中的yield函数的用法
2015/04/03 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
个人创业事迹材料
2014/12/30 职场文书
公司给客户的感谢信
2015/01/23 职场文书
采购员岗位职责
2015/02/03 职场文书
Java 数组的使用
2022/05/11 Java/Android