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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
python time模块用法实例详解
Sep 11 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
Python基于百度云文字识别API
Dec 13 Python
pycharm 安装JPype的教程
Aug 08 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 Python
详解Python函数print用法
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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP 创建文件(文件夹)以及目录操作代码
2010/03/04 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
javascript 页面只自动刷新一次
2009/07/10 Javascript
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
2013/01/23 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
js读取本地文件的实例
2017/12/22 Javascript
微信小程序实现单选功能
2018/10/30 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
Python实现Linux中的du命令
2017/06/12 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
学习新党章思想汇报
2014/01/09 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
避暑山庄导游词
2015/02/04 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python