glob 文件路径查找

举报
SHQ5785 发表于 2024/02/06 09:29:25 2024/02/06
【摘要】 一、前言glob是python自己带的一个文件操作相关模块,内容也不多,是最简单的模块之一。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符: "\*”, “?”, “[]”。”*”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。 二、glob.glob返回所有匹配的文件路径列表。它只有一个...

一、前言

globpython自己带的一个文件操作相关模块,内容也不多,是最简单的模块之一。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符: "\*”, “?”, “[]”。

  • *”匹配0个或多个字符;
  • ?”匹配单个字符;
  • []”匹配指定范围内的字符,如:[0-9]匹配数字。

二、glob.glob

返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。下面是使用glob.glob的例子:

import glob
#获取指定目录下的所有图片
print glob.glob(r"E:/Picture/*/*.jpg")
#获取上级目录的所有.py文件
print glob.glob(r'../*.py') #相对路径

三、glob.iglob

获取一个可编历对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。这有点类似于.NET中操作数据库用到的DataSet与DataReader。下面是一个简单的例子:

import glob
#父目录中的.py文件
f = glob.iglob(r'../*.py')
print (f)
for py in f:
    print (py)

四、os.chdir()

os.chdir() 方法用于改变当前工作目录到指定的路径。
语法
chdir()方法语法格式如下:
os.chdir(path)

参数
path – 要切换到的新路径。

返回值
如果允许访问返回 True , 否则返回False。

4.1 实例

以下实例演示了 chdir() 方法的使用:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys
path = "/tmp"
# 查看当前工作目录
retval = os.getcwd()
print "当前工作目录为 %s" % retval
# 修改当前工作目录
os.chdir( path )
# 查看修改后的工作目录
retval = os.getcwd()
print "目录修改成功 %s" % retval

五、Python合并列表,append()、extend()、+、+=

在实际应用中涉及到了列表合并的问题。
在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,区别如下:

  • append() 向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加;
  • extend() 向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加;

直接用+号看上去与用extend()一样的效果,但是实际上是生成了一个新的列表存这两个列表的和,只能用在两个列表相加上

  • += 效果与extend()一样,向原列表追加一个新元素,在原有列表上增加;

效果如下:

这里写图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。