Python进阶(四十三)-Python模块学习:glob 文件路径查找

时间:2022-09-01 23:13:02

Python进阶(四十三)-Python模块学习:glob 文件路径查找

  glob是python自己带的一个文件操作相关模块,内容也不多,是最简单的模块之一。用它可以查找符合特定规则的文件路径名。跟使用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。

实例

  以下实例演示了 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()一样,向原列表追加一个新元素,在原有列表上增加

  效果如下:
Python进阶(四十三)-Python模块学习:glob 文件路径查找

Python进阶(四十三)-Python模块学习:glob 文件路径查找