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版
Dec 07 Python
Python笔记(叁)继续学习
Oct 24 Python
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
Jun 09 Python
Python中List.index()方法的使用教程
May 20 Python
python基础知识小结之集合
Nov 25 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
Python实现的简单线性回归算法实例分析
Dec 26 Python
详解用python写一个抽奖程序
May 10 Python
django数据库自动重连的方法实例
Jul 21 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
用python实现名片管理系统
Jun 18 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生成WAP页面
2006/10/09 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
javascript 写类方式之二
2009/07/05 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
javascript 闭包详解
2015/07/02 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
关于jquery中attr()和prop()方法的区别
2018/05/28 jQuery
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
Python设计模式之观察者模式实例
2014/04/26 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
Python 的描述符 descriptor详解
2016/02/27 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
校园达人秀策划书
2014/01/12 职场文书
生日寿宴答谢词
2014/01/19 职场文书
长江七号观后感
2015/06/11 职场文书
2016廉政教育学习心得体会
2016/01/25 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers