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数据类型转换函数总结
Mar 11 Python
python中精确输出JSON浮点数的方法
Apr 18 Python
改进Django中的表单的简单方法
Jul 17 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Django框架多表查询实例分析
Jul 04 Python
Python除法之传统除法、Floor除法及真除法实例详解
May 23 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 Python
Pytorch转tflite方式
May 25 Python
python线程里哪种模块比较适合
Aug 02 Python
关于Python使用turtle库画任意图的问题
Apr 01 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
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
PHP 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
javascript 三种编解码方式
2010/02/01 Javascript
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
Python 变量类型及命名规则介绍
2013/06/08 Python
python爬虫实例详解
2018/06/19 Python
python创造虚拟环境方法总结
2019/03/04 Python
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
中国网上药店领导者:1药网
2017/02/16 全球购物
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
如何进行Linux分区优化
2016/09/13 面试题
我的网上商城创业计划书
2013/12/26 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
推广普通话演讲稿
2014/05/23 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
关于诚信的活动方案
2014/08/18 职场文书
大学军训决心书
2015/02/05 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python