写点什么

Python 进阶 (四十三)glob 文件路径查找

  • 2022-11-16
    江苏
  • 本文字数:962 字

    阅读完需:约 3 分钟

Python进阶(四十三)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, syspath = "/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()一样,向原列表追加一个新元素,在原有列表上增加;


效果如下:



发布于: 刚刚阅读数: 4
用户头像

No Silver Bullet 2021-07-09 加入

岂曰无衣 与子同袍

评论

发布
暂无评论
Python进阶(四十三)glob 文件路径查找_Python_No Silver Bullet_InfoQ写作社区