glob
fnmatch
ボンネットの下で使用します。あなたはそれを直接使うことができます:
import fnmatch, os
names = os.listdir("/Users/smcho/Desktop/bracket/[10,20]")
print fnmatch.filter(names, '*.txt')
または(非公開)を使用します(glob.glob1()
少なくともPython3を含むPython2.3以降に存在します):
import glob
print glob.glob1("/Users/smcho/Desktop/bracket/[10,20]", '*.txt')
の実装は次のglob.glob1
とおりです。
def glob1(dirname, pattern):
if not dirname:
dirname = os.curdir
if isinstance(pattern, unicode) and not isinstance(dirname, unicode):
dirname = unicode(dirname, sys.getfilesystemencoding() or
sys.getdefaultencoding())
try:
names = os.listdir(dirname)
except os.error:
return []
if pattern[0] != '.':
names = filter(lambda x: x[0] != '.', names)
return fnmatch.filter(names, pattern)