Python标准库os.path包、glob包使用实例


Posted in Python onNovember 25, 2014

os.path包

os.path包主要用于处理字符串路径,比如'/home/zikong/doc/file.doc',提取出有用的信息。

import os.path

path = '/home/zikong/doc/file.doc'
print(os.path.basename(path))    # 查询路径中包含的文件名

print(os.path.dirname(path))     # 查询路径中包含的目录
info = os.path.split(path)       # 将路径分割成文件名和目录两个部分,放在一个表中返回

path2 = os.path.join('\', 'home', 'zikong', 'doc', 'file.doc')  #使用目录名和文件名构成一个路径字符串
p_list = [path, path2]

print(os.path.commonprefix(p_list))    # 查询多个路径的共同部分
os.path.normpath(path) # 去除路径path中的冗余。比如'/home/vamei/../.'被转化为'/home'

#os.path还可以查询文件的相关信息(metadata)。文件的相关信息不存储在文件内部,而是由操作系统

#维护的,关于文件的一些信息(比如文件类型,大小,修改时间)。
import os.path 

path = '/home/vamei/doc/file.txt'
print(os.path.exists(path))    # 查询文件是否存在
print(os.path.getsize(path))   # 查询文件大小

print(os.path.getatime(path))  # 查询文件上一次读取的时间

print(os.path.getmtime(path))  # 查询文件上一次修改的时间
print(os.path.isfile(path))    # 路径是否指向常规文件

print(os.path.isdir(path))     # 路径是否指向目录文件

glob包

glob是python自己带的一个文件操作相关模块,内容也不多,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,而且也 支持通配符,,?,[]这三个通配符,代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。

glob方法: 返回所有匹配的文件路径列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),比如:

import glob

glob.glob("/home/zikong/doc/*.doc")

/home/zikong/doc/file1.doc /home/zikong/doc/file2.doc

例子

综合利用两个包写的一个类似于linux下的ls函数:

#coding = utf8

import glob

import os.path

path = '/Users/zikong/Pictures'

def ls(path):

        #codinf = utf8

        print "--name--   --type--  --size--  --atime--  --mtime-- "

        path = path + '/*'

        filelist = glob.glob(path)

        for filepath in filelist:

                out = '%s  %s  %s  %s  %s'%(filepath.split('/')[4] ,os.path.isfile(filepath) ,os.path.getsize(filepath) ,os.path.getatime(filepath) ,os.path.getmtime(filepath))

                print out
ls(path)

注意

#coding=utf

是为了让python能够显示中文

Python 相关文章推荐
python 正则式 概述及常用字符
May 07 Python
Python生成pdf文件的方法
Aug 04 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Django重置migrations文件的方法步骤
May 01 Python
机器学习实战之knn算法pandas
Jun 22 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
python isinstance函数用法详解
Feb 13 Python
使用keras2.0 将Merge层改为函数式
May 23 Python
Python 程序员必须掌握的日志记录
Aug 17 Python
运行python提示no module named sklearn的解决方法
Nov 29 Python
python实现简单的井字棋
May 26 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 Python
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 #Python
Python标准库之多进程(multiprocessing包)介绍
Nov 25 #Python
Python标准库之随机数 (math包、random包)介绍
Nov 25 #Python
Python标准库之循环器(itertools)介绍
Nov 25 #Python
Python标准库之sqlite3使用实例
Nov 25 #Python
Python标准库内置函数complex介绍
Nov 25 #Python
Python XML RPC服务器端和客户端实例
Nov 22 #Python
You might like
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
简明json介绍
2008/09/28 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
Bootstrap菜单按钮及导航实例解析
2016/09/09 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
下载给定网页上图片的方法
2014/02/18 Python
详解python开发环境搭建
2016/12/16 Python
python编程线性回归代码示例
2017/12/07 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
python实现将视频按帧读取到自定义目录
2019/12/10 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
Python实现画图软件功能方法详解
2020/07/28 Python
python中Django文件上传方法详解
2020/08/05 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
优秀员工年终发言演讲稿
2014/01/01 职场文书
委托书怎样写
2014/08/30 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书