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解决鸡兔同笼问题的方法
Dec 20 Python
python中zip()方法应用实例分析
Apr 16 Python
python操作 hbase 数据的方法
Dec 18 Python
Python 3中print函数的使用方法总结
Aug 08 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 Python
Python中使用gflags实例及原理解析
Dec 13 Python
python等差数列求和公式前 100 项的和实例
Feb 25 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
python在协程中增加任务实例操作
Feb 28 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
动易数据转成dedecms的php程序
2007/04/07 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
php生成二维码
2015/08/10 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
jQuery使用手册之一
2007/03/24 Javascript
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
js prototype截取字符串函数
2010/04/01 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
JS实现二叉查找树的建立以及一些遍历方法实现
2017/04/17 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
跟老齐学Python之集合的关系
2014/09/24 Python
Python连接DB2数据库
2016/08/27 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
python deque模块简单使用代码实例
2020/03/12 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
基于python实现操作redis及消息队列
2020/08/27 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
编辑硕士自荐信范文
2013/11/27 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
质检员岗位职责
2015/02/03 职场文书
李强感恩观后感
2015/06/17 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP