递归 glob 仅适用于某些文件夹



我正在使用以下文件夹层次结构进行搜索:

files = glob(os.path.join(fileroot,somefolder,'**/*.npy'),recursive=True)

它在某些文件夹上效果很好,而在其他文件夹上效果不佳。我也尝试了其他方法:

from pathlib import Path
for file_path in Path(os.path.join(fileroot,somefolder)).glob('**/*.npy'):
print(file_path) 

尝试废弃"npy",看看它的发现是否没有扩展名,也没有运气。我错过了什么?

我尝试将包含 npy 文件的文件夹移动到一个目录中,这使它们易于找到。.所以我对递归论证有点糟糕。

使用上面的递归 glob,我可以找到 2 个文件夹深的文件(即文件根/somefolder/folder1/folder2/*npy(,但不能再进一步(fileroot/somefolder/folder1/folder2/folder3/*npy(。

我还注意到,将递归设置为 False 时,我有相同的结果,因此似乎由于某种原因忽略了递归命令

不确定我是否真的理解这个问题,但这从根文件夹"test"中获取文件夹和子文件夹中的文件名。

from os import walk
path = './test'
my_files = []
for (dirpath, dirnames, filenames) in walk(path):
my_files.extend(filenames)

最新更新