内置函数不能那样工作,但是您可以使用 os 中的一些方法轻松地创建自己的函数
假设 python 3.0
os.walk
假设 python 2.7
os.path.walk
基本上,您可以使用 os.path.split() 拆分您给出的路径,然后使用带有头部的 walk 方法并检查尾部是否在结果中。如果找到它,您可以在尾部执行 os.path.abspath 以获取该文件的绝对路径
def locate(headnname):
abspaths = []
head,tail = os.path.split(headnname)
if not os.path.isdir(head):
raise IOError("not a valid head: %s" % head)
for dp,dn,fn in os.walk(head):
if tail in fn:
abspaths.append(dp+"/"+tail)
return abspaths
输出:
>>> locate("D:/users/admin/pytools.py")
['D:/users/admin\\Programs\\AT_Plotter\\src/pytools.py',
'D:/users/admin\\Programs\\py2exe/pytools.py',
'D:/users/admin\\Programs\\pytools\\src/pytools.py',
'D:/users/admin\\Shared\\pyIO/pytools.py',
'D:/users/admin\\Shared\\pyIO\\Old/pytools.py']