我正在使用以下文件夹层次结构进行搜索:
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)