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生成数字图片代码分享

本文向大家分享了几段Python生成数字图片的代码,喜欢的朋友可以参考。具体如下: 最终版本 # -*- coding:utf-8 -*- from PIL import Image...

TensorFlow实现iris数据集线性回归

TensorFlow实现iris数据集线性回归

本文将遍历批量数据点并让TensorFlow更新斜率和y截距。这次将使用Scikit Learn的内建iris数据集。特别地,我们将用数据点(x值代表花瓣宽度,y值代表花瓣长度)找到最优...

Python笔记之facade模式

Python笔记之facade模式

facade模式,即门面模式,也称外观模式,这个模式的核心思想是使用facade对象为外部客户端提供一个统一的访问一组子系统的接口,即客户端不会直接与各个子系统交互,而是通过facade...

Python3实现的回文数判断及罗马数字转整数算法示例

本文实例讲述了Python3实现的回文数判断及罗马数字转整数算法。分享给大家供大家参考,具体如下: 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一...

你应该知道的python列表去重方法

前言 列表去重是写Python脚本时常遇问题,因为不管源数据来自哪里,当我们转换成列表的方式时,有可能预期的结果不是我们最终的结果,最常见的就是列表中元素有重复,这时候第一件事我们就要做...