如何在 Python 中使用通配符搜索尚不存在的子文件夹

How to search a subfolder, which doesn't exist yet, with wildcard in Python

我正在尝试通过 pywebcopy 下载一些网页。我使用这个库,因为它克隆完全相同,但是,它会尝试从网页下载每个文件。结果,有时它会卡在某个文件上并进入无限循环,我猜。 (我从来没有等过超过10分钟。)事实上,它下载我想下载的,也就是完整的网页。所以,我想在文件下载完成后终止它的进程,然后循环访问其他网页。

我会用 while 来做,但是文件夹结构太嵌套了。由于文件夹在库下载之前不存在,我无法使用 os.path.

进行搜索

文件夹结构是这样的:

main_folder├───subfolder1───some_folder1  
│                 └───some_folder2
│                        some_image.png
│   
│
└───subfolder2
    └───sub_subfolder1
        └───sub_subfolder2
            └───sub_subfolder3
                └───sub_subfolder4
                    └───sub_subfolder5
                        │   index.html
                        │   some.pwc
                        │
                        └───amp
                                the_file_I_want.pwc

我需要的文件一直在amp文件夹中。所以,基本上我应该找到那个文件夹并检查文件是否在那里。但是,sub_subfolder3、sub_subfolder4 和 sub_subfolder5 的名称会因网页而异。我必须使用类似于“main_folder/subfolder2/**/amp/*.pwc”的通配符进行搜索。但是下载开始前文件夹不存在

我想做的是这样的:

from pywebcopy import save_webpage
import glob
...

pattern = 'main_folder/subfolder2/**/amp/*.pwc'
while glob.glob(pattern).is_file() = False:
    save_webpage(url, download_folder, **kwargs)

语法无效,但这正是我想要的。我已经搜索过但无法提出任何解决方案。任何帮助将不胜感激。

试试这个:

while any(os.path.isfile(i) for i in glob.iglob(pattern)):