13

如果我想创建所有 .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

这两种方法中的哪一种更受欢迎,为什么?或者他们被认为同样(不)健全?

4

2 回答 2

8

两者都很好。还要考虑os.path.walk你是否真的想对那个列表做点什么(而不是为了它自己而构建这个列表)。

于 2012-11-30T10:42:16.033 回答
6

我个人会选择glob.glob,因为它更清楚。然而,由于它是一个包装器listdir,它们都完成了工作。

于 2012-11-30T10:42:33.420 回答