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



如果给定文件的部分名称,我需要返回目录路径使用python-globe方法返回错误这就是我的./test/my/app/update/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 ..") 

它在innerdir中返回的是文件的全名和完整路径,而不是pathx中的路径。

现在的情况是,文件也可以在内部:

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

如果发现,应该返回:

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

我的地球仪出了什么问题?

使用**+recursive=True,glob将为此工作。

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

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

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

相关内容

  • 没有找到相关文章