找到所有匹配确切名称的文件,包含和不包含扩展名

时间:2016-10-01 12:59:36

标签: python glob

我使用glob扫描指定目录以查找与指定名称匹配的所有文件,但我似乎无法使用没有扩展名的文件而不查找与名称匹配的文件然后一些...

例如,这里有一些文件:
- 档案
- file2
- file.dat

结果列表应为:
[ 'file', 'file.dat' ]

如何让glob按预期工作?

1 个答案:

答案 0 :(得分:0)

在发布这个问题后不久,我想到了答案,但在我发布之前放弃了电话......

因此,不要依赖于glob来查找皇家所有文件,而是只查找带扩展名的文件。

以下是如何验证是否需要glob:

path = 'subdirectory/filename' # no extension

files = [ path ] # for consistancy
if not os.path.exists( path ):
    files = glob('%s.*'%path)
    if not files:
        raise IOError("no files found")

for f in files:
    # do whatever

这应该适用于大多数名称,包括格式化的名称。