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去掉字符串中空格的方法
Mar 11 Python
Python进行数据科学工作的简单入门教程
Apr 01 Python
Python线程创建和终止实例代码
Jan 20 Python
pyqt5简介及安装方法介绍
Jan 31 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
Python实现Restful API的例子
Aug 31 Python
Python 私有化操作实例分析
Nov 21 Python
IronPython连接MySQL的方法步骤
Dec 27 Python
学python需要去培训机构吗
Jul 01 Python
Django 如何实现文件上传下载
Apr 08 Python
python APScheduler执行定时任务介绍
Apr 19 Python
图神经网络GNN算法
May 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
php通过asort()给关联数组按照值排序的方法
2015/03/18 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
python hashlib加密实现代码
2019/10/17 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
儿科主治医生个人求职信
2013/09/23 职场文书
抄作业检讨书
2014/02/17 职场文书
电工技术比武方案
2014/05/11 职场文书
2014年行政工作总结
2014/11/19 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
党支部培养考察意见
2015/06/02 职场文书
追讨欠款律师函
2015/06/24 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python