查找具有部分字符串匹配的目录中的文件

Lea*_*wly 6 python glob

我有一个目录,其中包含以下文件:

apple1.json.gz
apple2.json.gz
banana1.json.gz
melon1.json.gz
melon2.json.gz
Run Code Online (Sandbox Code Playgroud)

我希望能够找到所有的apple,bananamelon文件类型.

从这个SO答案我知道我可以通过文件类型找到:

import glob, os
os.chdir("/mydir")
for file in glob.glob("*.json.gz"):
    print(file)
Run Code Online (Sandbox Code Playgroud)

但是,就我而言,我无法通过文件名或文件类型进行匹配.而是一个部分文件名匹配(所有apple的等等)

在这个SO问题中,提出了这个解决方案:

[in] for file in glob.glob('/path/apple*.json.gz'):
    print file
Run Code Online (Sandbox Code Playgroud)

但是,这会返回零

[out]
     0
Run Code Online (Sandbox Code Playgroud)

Sim*_*mme 9

将文件/mydir包含如下

mydir
??? apple1.json.gz
??? apple2.json.gz
??? banana1.json.gz
??? melon1.json.gz
??? melon2.json.gz
Run Code Online (Sandbox Code Playgroud)

你可以做到

import glob
import os

os.chdir('/mydir')
for file in glob.glob('apple*.json.gz'):
    print file
Run Code Online (Sandbox Code Playgroud)

要么

import glob

for file in glob.glob('/mydir/apple*.json.gz'):
    print file
Run Code Online (Sandbox Code Playgroud)

更改目录不会生效glob.glob('/absolute/path').