用法
os.listdir(path)
和glob(path + ‘[].某格式’)
上式中的[ ]中可以替换成“*
”、“?
”或"[]
“。具体使用哪一个,需要看你想实现什么样的筛选。
其中”*
"表示匹配任意字符串,“?
”匹配任意单个字符,[0-9]
与[a-z]
表示匹配0-9的单个数字与a-z的单个字符,和正则表达式规则一样。
示例:
比如,要查找路径为“/home/demo”,它下面的文件有“demo1.txt”,“demo2.txt"和"demo3.csv”。
glob.glob("/home/demo/*.txt")
#返回的结果为["/home/demo/demo1.txt","/home/demo/demo2.txt"]
os.listdir("/home/demo")
#返回的结果为["demo1.txt","demo2.txt","demo3.csv"]
下面说一下他们之间最大的区别:
os.listdir(path)
:得到path下的全部文件列表,列表中没有路径的!
glob.glob(path + ‘*.某格式’)
:得到path下某个格式的全部文件列表(包含路径)!功能比os.listdir(path)
强大,是一个包含关系。
即glob.glob()
等于os.listdir(path)
和os.path.join()
加起来
可参考上述的示例,自己品一品。