Skip to main content
 首页 » 编程设计

python 3 : search subdirectories for a file

2025年05月04日11langtianya

我在 Mac 上使用 Pycharm。在下面的脚本中,我在名为 dwnld.py 的文件上调用 os.path.isfile 函数。它打印出“文件存在”,因为 dwnld.py 与脚本 (/Users/BobSpanks/PycharmProjects/my scripts) 位于同一目录中。 如果我要将 dwnld.py 放在不同的位置,如何让下面的代码搜索从 /Users/BobbySpanks 开始的所有子目录以获取 dwnld.py?我尝试阅读 os.path 注释,但我无法真正找到我需要的东西。我是 Python 的新手。

import os.path 
 
File = "dwnld.py" 
 
if os.path.isfile(File): 
    print("File exists") 
else: 
    print("File doesn't exist") 

请您参考如下方法:

您可以使用 glob module为此:

import glob 
import os 
 
pattern = '/Users/BobbySpanks/**/dwnld.py' 
 
for fname in glob.glob(pattern, recursive=True): 
    if os.path.isfile(fname): 
        print(fname) 

没有检查 dwnld.py 是否真的是文件的简化版本:

for fname in glob.glob(pattern, recursive=True): 
    print(fname) 

理论上,它现在可以是一个目录。

If recursive is true, the pattern '**' will match any files and zero or more directories and subdirectories.