如果我想创建所有.xls文件的列表,我通常会使用
rdir=r"d:\temp"
flist=[os.path.join(rdir,fil) for fil in os.listdir(rdir) if fil.endswith(".xls")]
print flist
但是,我最近看到了另一种选择,即
rdir=r"d:\temp"
import glob
flist=glob.glob(os.path.join(rdir,"*.xls"))
print flist
这两种方法中的哪一种是首选,为什么?或者他们被认为是同等(不)的声音?
答案 0 :(得分:5)
两者都很好。如果您确实想要对该列表执行某些操作(而不是为了它自己而构建列表),也请考虑os.path.walk
。
答案 1 :(得分:4)
我个人选择glob.glob
,因为它更清楚。
但是,因为它是listdir
的包装器,所以它们都完成了工作。