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编写脚本获取手机当前应用apk的信息
Jul 21 Python
Python的迭代器和生成器
Jul 29 Python
老生常谈Python进阶之装饰器
May 11 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
Python yield与实现方法代码分析
Feb 06 Python
numpy.random模块用法总结
May 27 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
django实现类似触发器的功能
Nov 15 Python
500行python代码实现飞机大战
Apr 24 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 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
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
JS Array对象入门分析
2008/10/30 Javascript
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
js利用拖放实现添加删除
2020/08/27 Javascript
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
python实现石头剪刀布程序
2021/01/20 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
Python for i in range ()用法详解
2020/09/18 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
PyQt实现计数器的方法示例
2021/01/18 Python
scrapy-splash简单使用详解
2021/02/21 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
运动会四百米广播稿
2014/01/19 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
MySQL创建定时任务
2022/01/22 MySQL
浅析Python OpenCV三种滤镜效果
2022/04/11 Python