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监控网卡流量并使用graphite绘图的示例
Apr 27 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
Python实现进程同步和通信的方法
Jan 02 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
利用Python如何批量更新服务器文件
Jul 29 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
Nov 06 Python
使用python实现简单五子棋游戏
Jun 18 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
Python threading的使用方法解析
Aug 28 Python
python os.path.isfile 的使用误区详解
Nov 29 Python
python三引号如何输入
Jul 06 Python
python subprocess pipe 实时输出日志的操作
Dec 05 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/08/08 PHP
php使用PDO方法详解
2014/12/27 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
JS实现li标签的删除
2019/04/12 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
Python可变参数函数用法实例
2015/07/07 Python
python简单猜数游戏实例
2015/07/09 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
Python面向对象之Web静态服务器
2019/09/03 Python
使用python实现多维数据降维操作
2020/02/24 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
杭州时比特电子有限公司SQL
2013/08/22 面试题
数据库基础的一些面试题
2012/02/25 面试题
实验教师岗位职责
2014/02/13 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
物业消防安全责任书
2014/07/23 职场文书
关于运动会的广播稿
2014/09/22 职场文书
保卫工作个人总结
2015/03/03 职场文书
自主招生自荐信格式
2015/03/04 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL
pandas中pd.groupby()的用法详解
2022/06/16 Python