如何将通配符应用于 glob 以仅搜索某些目录中的文件?
例如我有这些文件夹 AABC、AADE 和 archive。我只想运行 glob 来获取 AABC 和 AADE 中的所有 json 文件,但不想获取存档文件夹中的所有 json 文件。
我尝试过以下不同的变体:
json_files = glob.glob("**.json", recursive=True)
如:
json_files = glob.glob("AA**/**.json", recursive=True)
但似乎不起作用。感谢您的帮助。
最佳答案
这是您的解决方案 - glob.glob('aa*/*.json'))
这是一个测试:
vladimir@vladimir-hp /tmp $ mkdir aab
vladimir@vladimir-hp /tmp $ mkdir aac
vladimir@vladimir-hp /tmp $ mkdir a
vladimir@vladimir-hp /tmp $ touch aab/1.json
vladimir@vladimir-hp /tmp $ touch aac/2.json
vladimir@vladimir-hp /tmp $ touch a/3.json
vladimir@vladimir-hp /tmp $ python3 -c "import glob; print(glob.glob('aa*/*.json'))"
>>> ['aac/2.json', 'aab/1.json']
关于python glob 应用通配符仅在某些目录中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51776191/