2016-03-29 10 views
3

os.walk(ディレクトリ)を使用して、そのディレクトリのすべてのファイルを再帰的に表示しています。 私はその名前に尋ねられた文字列を含むファイルだけを表示する必要があり、メタキャラクタも管理する必要があるということです。私は今持っている何Python:filename contains String(metachar?)

は次のとおりです。

for root, subdirs, files in os.walk(dir1): 
     for filename in files: 
      if substring in filename: 
       name_path = os.path.join(root,filename) 
       list.insert(END, name_path) 

これはうまく動作しますが、私は「*」を含むファイルを持っていけないようsubstring = *場合、私のリストは空です。

したがって、substringにMETACHARが含まれている場合、これを動作させるにはどうすればよいですか?

答えて

7

私はあなたのfnmatchを探していると思う:

https://docs.python.org/3/library/fnmatch.html#module-fnmatch

+0

LOL。 メタキャラを導入した場合にのみこれが有効になります。部分文字列が "exercise1"のようなものなら、それは見つからない – Croc

+4

それを見つけました。部分文字列は部分文字列= "*" +部分文字列+ "*"でなければなりません。 – Croc

関連する問題