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 相关文章推荐
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
python计算文本文件行数的方法
Jul 06 Python
说一说Python logging
Apr 15 Python
浅谈Python的垃圾回收机制
Dec 17 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
Python网络编程使用select实现socket全双工异步通信功能示例
Apr 09 Python
python3+PyQt5重新实现QT事件处理程序
Apr 19 Python
python 保存float类型的小数的位数方法
Oct 17 Python
python字符串中匹配数字的正则表达式
Jul 03 Python
python pandas移动窗口函数rolling的用法
Feb 29 Python
python3用urllib抓取贴吧邮箱和QQ实例
Mar 10 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 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
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
详解php中反射的应用
2016/03/15 PHP
PHP实现图片压缩
2020/09/09 PHP
基于datagrid框架的查询
2013/04/08 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
python读取Excel实例详解
2018/08/17 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python pycharm的安装及其使用
2019/10/11 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
Python如何解除一个装饰器
2020/08/07 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
标准导师推荐信(医学类)
2013/10/28 职场文书
离婚协议书怎么写的
2014/12/14 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
Java设计模式中的命令模式
2022/04/28 Java/Android