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 multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
Python写入CSV文件的方法
Jul 08 Python
Python实现提取谷歌音乐搜索结果的方法
Jul 10 Python
python利用datetime模块计算时间差
Aug 04 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 Python
教你用Python创建微信聊天机器人
Mar 31 Python
Python实现繁体中文与简体中文相互转换的方法示例
Dec 18 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
Apr 30 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
详解Python yaml模块
Sep 23 Python
pandas 数据类型转换的实现
Dec 29 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
May 27 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
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
用PHP读取IMAP邮件
2006/10/09 PHP
关于时间计算的结总
2006/12/06 PHP
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
Webpack3+React16代码分割的实现
2021/03/03 Javascript
python mysqldb连接数据库
2009/03/16 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
对Python中的@classmethod用法详解
2018/04/21 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
园长自我鉴定
2013/10/06 职场文书
小学教师师德承诺书
2014/05/23 职场文书
面试必备的求职信
2014/05/25 职场文书
禁止酒驾标语
2014/06/25 职场文书
活动总结格式
2014/08/30 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL