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 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
python实现数独算法实例
Jun 09 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
python 实现Flask中返回图片流给前端展示
Jan 09 Python
用pytorch的nn.Module构造简单全链接层实例
Jan 14 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
VSCODE配置Markdown及Markdown基础语法详解
Jan 19 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 Python
进行数据处理的6个 Python 代码块分享
Apr 06 Python
Python可变与不可变数据和深拷贝与浅拷贝
Apr 06 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 文件系统详解
2012/09/13 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
JS不间断向上滚动效果代码
2013/12/25 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
python实现复制整个目录的方法
2015/05/12 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
Python 去除字符串中指定字符串
2020/03/05 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
爱情保证书范文
2014/02/01 职场文书
学雷锋演讲稿
2014/03/04 职场文书
社团活动总结
2014/04/28 职场文书
法学自荐信
2014/06/20 职场文书
硕士生找工作求职信
2014/07/05 职场文书
小学元宵节活动总结
2015/02/06 职场文书
神龙架导游词
2015/02/11 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书