glob是python的一个标准库函数,它的作用类似于shell的find,但是只能返回一级目录的查找结果,支持通配符来查找某个目录的文件,找到的文件列表以list格式返回,如果目录不存在或者找到结果为空,则返回一个空列表
首先建立一个测试目录:
首先打印一下当前目录的文件:
glob.glob(cur_dir)和直接打印cur_dir作用一样
import os
import glob
cur_dir = os.path.dirname(__file__)
print(cur_dir)
print(glob.glob(cur_dir))
# E:/testtxt
# ['E:/testtxt']
如果想要查询test1/txt1下的所有文件,则
import os
import glob
cur_dir = os.path.dirname(__file__)
print(glob.glob(cur_dir+"/test1/txt1/*.txt"))
# ['E:/testtxt/test1/txt1\\3.txt', 'E:/testtxt/test1/txt1\\4.txt', 'E:/testtxt/test1/txt1\\5.txt', 'E:/testtxt/test1/txt1\\third1.txt', 'E:/testtxt/test1/txt1\\third2.txt']
如果只想查询数字开头的文件,用?表示一个字符即可:
import os
import glob
cur_dir = os.path.dirname(__file__)
print(glob.glob(cur_dir+"/test1/txt1/?.txt"))
# ['E:/testtxt/test1/txt1\\3.txt', 'E:/testtxt/test1/txt1\\4.txt', 'E:/testtxt/test1/txt1\\5.txt']
如果目录或者文件不存在则返回一个空列表:
import os
import glob
cur_dir = os.path.dirname(__file__)
print(glob.glob(cur_dir+"/test1/txt1/?.py"))
print(glob.glob(cur_dir+"/test1/txt3/*"))
# []
# []