如何通过遍历各个子目录来访问具有特定名称的文件夹 - Python?
How to access a folder with a specific name by iterating through various subdirectories - Python?
我想访问随机位于 'All images' 文件夹的各个不同子目录中的“PNG 文件”文件夹。我尝试了以下方法:
import glob
path = r"C:\main folder\All images"
for f in glob.iglob((path) + 'PNG FILES', recursive=True):
print (f)
但是,这并没有给我输出。我知道您可以使用 glob.iglob 轻松找到具有特定扩展名的文件,但我无法找到具有特定名称的文件夹(在本例中为 'PNG FILES')。
如有任何帮助,我们将不胜感激!
您可以使用此方法:https://docs.python.org/3/library/os.html#os.walk然后在循环中检查文件夹名称。
for root, dirs, files in os.walk(path):
for name in dirs:
if name == 'PNG FILES':
...
这是一个使用标准 pathlib
:
的解决方案
from pathlib import Path
path = r"C:\main folder\All images"
for folder_path in Path(path).glob("**/PNG FILES"):
print(folder_path)
我想访问随机位于 'All images' 文件夹的各个不同子目录中的“PNG 文件”文件夹。我尝试了以下方法:
import glob
path = r"C:\main folder\All images"
for f in glob.iglob((path) + 'PNG FILES', recursive=True):
print (f)
但是,这并没有给我输出。我知道您可以使用 glob.iglob 轻松找到具有特定扩展名的文件,但我无法找到具有特定名称的文件夹(在本例中为 'PNG FILES')。 如有任何帮助,我们将不胜感激!
您可以使用此方法:https://docs.python.org/3/library/os.html#os.walk然后在循环中检查文件夹名称。
for root, dirs, files in os.walk(path):
for name in dirs:
if name == 'PNG FILES':
...
这是一个使用标准 pathlib
:
from pathlib import Path
path = r"C:\main folder\All images"
for folder_path in Path(path).glob("**/PNG FILES"):
print(folder_path)