当前位置: 首页 > news >正文

python标准库os的方法_Python标准库os.path包、glob包使用实例

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中如何对数字排序
  • 有趣的python项目_Python几个有趣和特别的小故事
  • python缩进格式错误修改_17个新手常见Python运行时错误
  • python什么是关键字参数_python的位置参数、默认参数、关键字参数、可变参数区别...
  • python数学计算函数_python之数学函数篇
  • linux双系统_windows下的Linux子系统,双系统的日子结束了
  • dos命令执行bat文件_dos命令tree图文教程,树形图形显示路径目录文件和文件夹...
  • python可以爬什么_Java可以像Python一样方便爬去世间万物
  • python二分法结果图_求助,python的二分法查找,按照视频上的代码写下来,结果运行错误...
  • vnpy怎么创建策略并回测_一步一步学vnpy
  • win7 安装c++2008失败0x80070002_3Dmax安装常见的六大问题
  • python百分号转义_Python 正则表达式(转义问题)
  • eclipse设置utf8编码_一篇文章搞懂Python 使用reload(sys)设置编码方式
  • robotframework安装_Robotframework自动化常见问题总结
  • springboot抽象类可以依赖注入吗_一篇文章带你搞定和Spring Boot有关的那些高频面试题...
  • 【刷算法】从上往下打印二叉树
  • JAVA并发编程--1.基础概念
  • React+TypeScript入门
  • Redux系列x:源码分析
  • 包装类对象
  • 理清楚Vue的结构
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 使用权重正则化较少模型过拟合
  • 一个SAP顾问在美国的这些年
  • 走向全栈之MongoDB的使用
  • Hibernate主键生成策略及选择
  • ionic入门之数据绑定显示-1
  • 国内开源镜像站点
  • 进程与线程(三)——进程/线程间通信
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)常见O(n^2)排序算法解析
  • (27)4.8 习题课
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)Mysql的优化设置
  • (转)visual stdio 书签功能介绍
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET Core 中的路径问题
  • .NET成年了,然后呢?
  • .net开发引用程序集提示没有强名称的解决办法
  • // an array of int
  • @KafkaListener注解详解(一)| 常用参数详解
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @Transactional类内部访问失效原因详解
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [C#]获取指定文件夹下的所有文件名(递归)
  • [c++] C++多态(虚函数和虚继承)
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [C++]类和对象【下】
  • [CLickhouse] 学习小计