特定ディレクトリ以下の特定ファイル名取得

しばしば特定ディレクトリ以下の特定ファイル名を取得したいことがある.以下の二つの方法が良いと思う.

1)linux command find を使う(python 2.x, 3.x で動作)

fns_=subprocess.check_output('find ' + bdir + ' -name "zos*.nc"', shell=True).decode('ascii').split('\n')

if fns[-1]=='':

fns=fns[:-1]

最後の2行はfnsの最後の要素に,''が入ってしまうので,そうであることを確認して削除している.

2) glob.glob

import glob

fns = glob.glob('./**/*.nc',recursive=True)