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生成随机mac地址的方法
Mar 16 Python
Python实现线程池代码分享
Jun 21 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
python实现年会抽奖程序
Jan 22 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
python中的线程threading.Thread()使用详解
Dec 17 Python
500行python代码实现飞机大战
Apr 24 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
Python使用windows设置定时执行脚本
Nov 12 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
Feb 22 Python
用Python远程登陆服务器的步骤
Apr 16 Python
python中pycryto实现数据加密
Apr 29 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
php var_export与var_dump 输出的不同
2013/08/09 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
PHP二进制与字符串之间的相互转换教程
2016/10/14 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
vue3.0封装轮播图组件的步骤
2021/03/04 Vue.js
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
如何清空Session
2015/02/23 面试题
高三英语教学反思
2014/01/13 职场文书
高中军训感言200字
2014/02/23 职场文书
基层党员公开承诺书
2014/05/29 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
个人售房合同协议书
2016/03/21 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP