通过部分名称检查目录中是否存在文件,如果找到则返回目录名称(glob返回错误)

时间:2020-07-26 07:52:07

标签: python glob

如果找到给定文件的部分名称,则需要返回目录路径 使用python Globe方法执行此操作将返回错误 这就是我所拥有的 ./test/my/app/upgrade/sql.upgarage.script.sh

pathx = ./test/my/app/upgrade/
partial_name = "upgarage.script"

 for inner_dir in glob.glob(pathx + '/*' + partial_name  + '*'):
             if not os.path.exists(dir_path):
                print("...error ..") 

inner_dir返回的内容是文件的全名和完整路径,而不是pathx中的路径。

现在的情况是该文件也可以位于内部:

/test/my/app/upgrade/ver1/a/sql.upgarage.script.sh

,如果找到,它将返回:

 /test/my/app/upgrade/ver1/a/

我的问题出在哪里?

1 个答案:

答案 0 :(得分:2)

使用** + recursive=True,而glob将对此起作用。

https://docs.python.org/3/library/glob.html#glob.glob

glob.glob(pathname, *, recursive=False)

如果递归为true,则模式“ **”将匹配任何文件以及零个或多个目录,子目录和目录的符号链接。如果此模式后接os.sep或os.altsep,则文件将不匹配。

相关问题