仅对某些文件夹使用递归glob

问题描述 投票:0回答:1

我正在搜索具有以下内容的文件夹层次结构:

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文件的文件夹移动到一个目录,这使得它们可被查找..所以我使用递归参数有点麻烦。

通过上面的递归全局,我可以找到文件深2个文件夹(即fileroot / somefolder / folder1 / folder2 / * npy),但找不到其他文件夹(fileroot / somefolder / folder1 / folder2 / folder3 / * npy)。

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

python recursion search directory glob
1个回答
0
投票

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

from os import walk

path = './test'
my_files = []
for (dirpath, dirnames, filenames) in walk(path):
    my_files.extend(filenames)
© www.soinside.com 2019 - 2024. All rights reserved.