Python标准库os.path包、glob包使用实例
作者:junjie 发布时间:2021-09-04 13:49:03
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能够显示中文


猜你喜欢
- 前言对于文件的比较一般有几种,比如比较文件的内容,比较文件的大小,或者直接对比整个项目文件。特别是在项目的更新迭代中,可以通过该库来比较当前
- 首先是抓包,使用scapy模块,sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件若参数为BPF过滤规则和回调函数,则进行S
- Thrift 是一种接口描述语言和二进制通信协议。以前也没接触过,最近有个项目需要建立自动化测试,这个项目之间的微服务都是通过 Thrift
- 前言:python数据类型: python数据结构之数据类型.今天我们主要来介绍一些内置函数,比如输入输出,控制,和异常的用法,尤其是输出和
- (一)说在前面 Python自带了GUI模块Tkinter,只是界面风格有些老旧。另外就是各种GUI框架
- 循环导入是指两个文件相互导入对方,形成一个导入循环。这会导致Python无法确定哪个模块应该先导入,进而出现错误。举个Flask中的例子:在
- 前言本文实现一个 Python 脚本,用来批量卸载模拟器或者实体机上面的 App 以及清除 LogCat 缓存。开发 Android 的朋友
- 在Python中,装饰器一般用来修饰函数,实现公共功能,达到代码复用的目的。在函数定义前加上@xxxx,然后函数就注入了某些行为,很神奇!然
- 本文为大家分享了两段PHP分页类,很实用,供大家参考,具体内容如下<?php class Page { private $
- 完整代码下载:http://xiazai.jb51.net/201407/tools/python-migong.rar最近研究了下迷宫的生
- python中ftplib模块支持ftp操作,主要使用FTP类。本文使用ftp操作进行连接FTP服务器、获取当前目录文件清单、上传文件等操作
- 访问phpmyadmin时总是出现 “无法载入 mysql 扩展,请检查 PHP 配置”。
- 本文实例讲述了Python按行读取文件的实现方法。分享给大家供大家参考,具体如下:小文件:#coding=utf-8#author: wal
- php实现记住密码自动登录方法不止一个,下面出现有二个emptyempty,其实是一个,那是因为代码高亮有bug。希望对大家有帮助。 一,用
- 某些情况下:我们希望在一个SQL Server下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成
- ps:不曾想还有那么好用的方法。汗一个先。Div即父容器不根据内容自适应高度,我们看下面的代码:<div id="main&
- 抢票是并发执行多个进程可以访问同一个文件多个进程共享同一文件,我们可以把文件当数据库,用多个进程模拟多个人执行抢票任务db.tx
- 目录1. 将索引从 groupby 操作转换为列2. 使用现有的 DataFrame 设置索引3. 一些操作后重置索引4.排序后重置索引5.
- 1. 问题描述对右图进行修改:请更换图形的风格请将 x 轴的数据改为-10 到 10请自行构造一个 y 值的函数将直方图上的数字,位置改到柱
- 如何在pytorch中使用word2vec训练好的词向量torch.nn.Embedding()这个方法是在pytorch中将词向量和词对应