ビルトインはそのようには機能しませんが、os のいくつかのメソッドを使用して独自の関数を簡単に作成できます
Python 3.0を想定
os.walk
Python 2.7を想定
os.path.walk
基本的に、os.path.split() を使用して与えられたパスを分割し、次に walk メソッドを head で使用して、tail が結果に含まれているかどうかを確認できます。見つかった場合は、テールで os.path.abspath を実行して、そのファイルの 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']