一、前言
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。
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()
一样,向原列表追加一个新元素,在原有列表上增加;
效果如下: