python os模块简单应用示例


Posted in Python onMay 23, 2019

本文实例讲述了python os模块简单应用。分享给大家供大家参考,具体如下:

举例中的目录形式如下所示:

In [36]: pwd
Out[36]: '/home/python/Desktop/code'
In [37]: ls
hello.py hello.txt test.py 文件夹01/ 文件夹02/ 文件夹03/

1.当前路径及路径下的文件

os.getcwd():查看当前所在路径。

os.listdir(path):列举目录下的所有文件。返回的是列表类型。

In [1]: import os
In [2]: os.getcwd()
Out[2]: '/home/python/Desktop/code'
In [3]: os.listdir(os.getcwd())
Out[3]: ['文件夹01', '文件夹03', '文件夹02', 'test.py', '.idea', 'hello.txt', 'hello.py']

2.绝对路径

os.path.abspath(path):返回path的绝对路径。

In [4]: os.path.abspath('.')
Out[4]: '/home/python/Desktop/code'
In [5]: os.path.abspath('..')
Out[5]: '/home/python/Desktop'

3.查看路径的文件夹部分和文件名部分

os.path.split(path):将路径分解为(文件夹,文件名),返回的是元组类型。可以看出,若路径字符串最后一个字符是,则只有文件夹部分有值;若路径字符串中均无,则只有文件名部分有值。若路径字符串有\,且不在最后,则文件夹和文件名均有值。且返回的文件夹的结果不包含.

In [6]: os.path.split('.')
Out[6]: ('', '.')
In [7]: os.path.split('/home')
Out[7]: ('/', 'home')
In [8]: os.path.split('/home/Desktop')
Out[8]: ('/home', 'Desktop')
In [9]: os.path.split('/home/Desktop/code')
Out[9]: ('/home/Desktop', 'code')
In [10]: os.path.split('/home/Desktop/code/')
Out[10]: ('/home/Desktop/code', '')

os.path.join(path1,path2,…):将path进行组合,若其中有绝对路径,则之前的path将被删除。

In [12]: os.path.join('/home', 'Desktop')
Out[12]: '/home/Desktop'
In [13]: os.path.join('/home/Desktop', 'code')
Out[13]: '/home/Desktop/code'

os.path.dirname(path):返回path中的文件夹部分,结果不包含'\'

In [14]: os.path.dirname(os.getcwd())
Out[14]: '/home/python/Desktop'

os.path.basename(path):返回path中的文件名。

In [15]: os.path.basename(os.getcwd())
Out[15]: 'code'
In [16]: os.path.basename('.')
Out[16]: '.'
In [17]: os.path.basename('/home/Desktop/code')
Out[17]: 'code'
In [18]: os.path.basename('/home/Desktop/code/')
Out[18]: ''
In [19]: os.path.basename('/home/Desktop/code/hello.txt')
Out[19]: 'hello.txt'

4.查看文件时间

os.path.getmtime(path):文件或文件夹的最后修改时间,从新纪元到访问时的秒数。

In [20]: os.path.getmtime(os.getcwd())
Out[20]: 1503292529.869008

os.path.getatime(path):文件或文件夹的最后访问时间,从新纪元到访问时的秒数

In [21]: os.path.getatime(os.getcwd())
Out[21]: 1503292529.8930087

os.path.getctime(path):文件或文件夹的创建时间,从新纪元到访问时的秒数。

In [22]: os.path.getctime(os.getcwd())
Out[22]: 1503292529.869008

5.查看文件大小

os.path.getsize(path):文件或文件夹的大小。

In [25]: os.getcwd()
Out[25]: '/home/python/Desktop/code'
In [26]: os.path.getsize('/home/python/Desktop/code')
Out[26]: 4096
In [28]: os.path.getsize('/home/python/Desktop/code/hello.txt')
Out[28]: 61

6.查看文件是否存在

os.path.exists(path):文件或文件夹是否存在,返回True 或 False。

In [29]: os.path.exists('/home/python/Desktop/code/hello.txt')
Out[29]: True
In [30]: os.path.exists('/home/python/Desktop/code/hehe.txt')
Out[30]: False

7.一些表现形式参数

os中定义了一组文件、路径在不同操作系统中的表现形式参数,如:

In [31]: os.sep
Out[31]: '/'
In [32]: os.extsep
Out[32]: '.'
In [33]: os.linesep
Out[33]: '\n'
In [34]: os.pathsep
Out[34]: ':'

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
Python实现获取某天是某个月中的第几周
Feb 11 Python
深入解析Python中的上下文管理器
Jun 28 Python
python基础教程之五种数据类型详解
Jan 12 Python
python实现桌面气泡提示功能
Jul 29 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
Python 实现的 Google 批量翻译功能
Aug 26 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
Django视图扩展类知识点详解
Oct 25 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
Pytorch distributed 多卡并行载入模型操作
Jun 05 Python
python使用turtle绘制国际象棋棋盘
May 23 #Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 #Python
Python3.8中使用f-strings调试
May 22 #Python
总结Python图形用户界面和游戏开发知识点
May 22 #Python
Python闭包和装饰器用法实例详解
May 22 #Python
Python进程间通信Queue消息队列用法分析
May 22 #Python
将python文件打包成EXE应用程序的方法
May 22 #Python
You might like
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
解析php开发中的中文编码问题
2013/08/08 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
vue实现引入本地json的方法分析
2018/07/12 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
了解重排与重绘
2019/05/29 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
python监控文件或目录变化
2016/06/07 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
python写日志文件操作类与应用示例
2019/07/01 Python
解析Python3中的Import
2019/10/13 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
政协工作总结2015
2015/05/20 职场文书
教师网络培训心得体会
2016/01/09 职场文书
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
Go语言入门exec的基本使用
2022/05/20 Golang