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连接mongodb操作数据示例(mongodb数据库配置类)
Dec 31 Python
跟老齐学Python之眼花缭乱的运算符
Sep 14 Python
对python中矩阵相加函数sum()的使用详解
Jan 28 Python
Python 互换字典的键值对实例
Feb 12 Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 Python
Python xlrd excel文件操作代码实例
Mar 10 Python
python字符串判断密码强弱
Mar 18 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
python 实现图片修复(可用于去水印)
Nov 19 Python
class类在python中获取金融数据的实例方法
Dec 10 Python
Python中request的基本使用解决乱码问题
Apr 12 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实现utf-8转unicode函数分享
2015/01/06 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
js的event详解。
2006/09/06 Javascript
js类中获取外部函数名的方法
2007/08/19 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
python如何编写win程序
2020/06/08 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
Python 爬取淘宝商品信息栏目的实现
2021/02/06 Python
CSS3 边框效果
2019/11/04 HTML / CSS
HTML5中div、article、section的区别及使用介绍
2013/08/14 HTML / CSS
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
新书吧创业计划书
2014/01/31 职场文书
班级寄语大全
2014/04/10 职场文书
理财计划书
2014/08/14 职场文书
如何书写授权委托书?
2019/06/25 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技