Python获取指定路径下的某类型文件的所有文件名

最近刚接触Python。考虑到之前在vs2010编写C++程序时,要使用第三方库的时候经常需要指定输入依赖项,比如OpenCV,我经常习惯把lib文件夹下的所有lib文件都添加到工程中,这时候就非常希望能够把路径下的所有lib文件的文件名提取出来。
所以用Python写了一个小程序来实现这个功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sys
import glob
import os
if len(sys.argv) < 3 :
print 'usage: filenmae.py dir suffix'
exit()
dir = sys.argv[1]
suffix = sys.argv[2]
f = glob.glob(dir + '\\*.' + suffix)
fileout = open(dir + '\\' + suffix + '.txt','wt')
for file in f :
filename = os.path.basename(file)
print filename
fileout.write(filename)
fileout.write('\n')
fileout.close()

glob是python的一个简单模块,用它可以查找符合特定规则的文件路径名。然后利用os模块中的basename方法来分离出文件名即可。上述脚本的运行方法如下:

第一个参数是python脚本的文件名,第二个参数是要遍历的路径,第三个目录是要提取的文件类型的后缀。运行后在第二个参数指定的路径下就会生成一个lib.txt文件,里面包含了lib文件夹内的所有lib文件名。
改变过滤的规则,比如

f = glob.glob(dir + ‘\*d.’ + suffix);

就能只提取debug版本的lib文件名。