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单链表实现代码实例
Nov 21 Python
Python的设计模式编程入门指南
Apr 02 Python
python实现linux下使用xcopy的方法
Jun 28 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
Python 模拟购物车的实例讲解
Sep 11 Python
Python实现模拟浏览器请求及会话保持操作示例
Jul 30 Python
python如何删除文件中重复的字段
Jul 16 Python
Python tkinter和exe打包的方法
Feb 05 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 Python
解决python3输入的坑——input()
Dec 05 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 07 Python
tensorflow2.0教程之Keras快速入门
Feb 20 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获取当前时间的毫秒数的方法
2014/01/26 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
js 居中漂浮广告
2010/03/21 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
一篇文章带你从零快速上手Rollup
2020/09/07 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
Python爬虫开发与项目实战
2020/12/16 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
中科软笔试题和面试题
2014/10/07 面试题
应届护士推荐信
2013/11/16 职场文书
校三好学生主要事迹
2014/01/11 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
师德演讲稿范文
2014/05/06 职场文书
建设投标担保书
2014/05/13 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
留学推荐信怎么写
2015/03/26 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书