python os模块简单应用示例

yipeiwu_com6年前Python基础

本文实例讲述了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文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

简述Python中的面向对象编程的概念

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程...

python实现五子棋人机对战游戏

python实现五子棋人机对战游戏

本文代码基于 python3.6 和 pygame1.9.4。 五子棋比起我之前写的几款游戏来说,难度提高了不少。如果是人与人对战,那么,电脑只需要判断是否赢了就可以。如果是人机对战,那...

对Python模块导入时全局变量__all__的作用详解

对Python模块导入时全局变量__all__的作用详解

Python中一个py文件就是一个模块,“__all__”变量是一个特殊的变量,可以在py文件中,也可以在包的__init__.py中出现。 1、在普通模块中使用时,表示一个模块中允许哪...

《与孩子一起学编程》python自测题

测试题一、 1、 程序可以响应的两种事件分别是键盘事件和鼠标事件。 2、 处理事件的代码称为事件处理器 3、 Pygame使用KEYDOWN事件来检测按键是否按下。 4、 Pos...

使用django-crontab实现定时任务的示例

今天打算在自己的 Django 应用中添加一个定时任务来定时执行一些定期检查的功能,因此想到了使用 django-crontab 插件可以满足我的需求,下面就是这个插件的使用方法。 首先...