亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python中fnmatch模塊的使用詳情

2020-02-15 23:52:00
字體:
來源:轉載
供稿:網友

fnamtch就是filenamematch, 在python中利用符合linuxshell風格的匹配模塊來進行文件名的匹配篩選工作。

fnmatch()函數匹配能力介于簡單的字符串方法和強大的正則表達式之間,如果在數據處理操作中只需要簡單的通配符就能完成的時候,這通常是一個比較合理的方案。此模塊的主要作用是文件名稱的匹配,并且匹配的模式使用的Unix shell風格。源碼很簡單:

"""Filename matching with shell patterns.fnmatch(FILENAME, PATTERN) matches according to the local convention.fnmatchcase(FILENAME, PATTERN) always takes case in account.The functions operate by translating the pattern into a regularexpression. They cache the compiled regular expressions for speed.The function translate(PATTERN) returns a regular expressioncorresponding to PATTERN. (It does not compile it.)"""import osimport posixpathimport reimport functools__all__ = ["filter", "fnmatch", "fnmatchcase", "translate"]def fnmatch(name, pat):  """Test whether FILENAME matches PATTERN.  Patterns are Unix shell style:  *    matches everything  ?    matches any single character  [seq]  matches any character in seq  [!seq] matches any char not in seq  An initial period in FILENAME is not special.  Both FILENAME and PATTERN are first case-normalized  if the operating system requires it.  If you don't want this, use fnmatchcase(FILENAME, PATTERN).  """  name = os.path.normcase(name)  pat = os.path.normcase(pat)  return fnmatchcase(name, pat)@functools.lru_cache(maxsize=256, typed=True)def _compile_pattern(pat):  if isinstance(pat, bytes):    pat_str = str(pat, 'ISO-8859-1')    res_str = translate(pat_str)    res = bytes(res_str, 'ISO-8859-1')  else:    res = translate(pat)  return re.compile(res).matchdef filter(names, pat):  """Return the subset of the list NAMES that match PAT."""  result = []  pat = os.path.normcase(pat)  match = _compile_pattern(pat)  if os.path is posixpath:    # normcase on posix is NOP. Optimize it away from the loop.    for name in names:      if match(name):        result.append(name)  else:    for name in names:      if match(os.path.normcase(name)):        result.append(name)  return resultdef fnmatchcase(name, pat):  """Test whether FILENAME matches PATTERN, including case.  This is a version of fnmatch() which doesn't case-normalize  its arguments.  """  match = _compile_pattern(pat)  return match(name) is not Nonedef translate(pat):  """Translate a shell PATTERN to a regular expression.  There is no way to quote meta-characters.  """  i, n = 0, len(pat)  res = ''  while i < n:    c = pat[i]    i = i+1    if c == '*':      res = res + '.*'    elif c == '?':      res = res + '.'    elif c == '[':      j = i      if j < n and pat[j] == '!':        j = j+1      if j < n and pat[j] == ']':        j = j+1      while j < n and pat[j] != ']':        j = j+1      if j >= n:        res = res + '//['      else:        stuff = pat[i:j].replace('//','////')        i = j+1        if stuff[0] == '!':          stuff = '^' + stuff[1:]        elif stuff[0] == '^':          stuff = '//' + stuff        res = '%s[%s]' % (res, stuff)    else:      res = res + re.escape(c)  return r'(?s:%s)/Z' % res            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲免费视频| 97色在线视频观看| 欧美在线观看视频| 成人精品久久久| 国产国语刺激对白av不卡| 国产盗摄xxxx视频xxx69| 欧美黑人狂野猛交老妇| 欧美高清自拍一区| 另类图片亚洲另类| 亚洲精品国产品国语在线| 亚洲人成自拍网站| 日韩欧美一区二区三区| 午夜精品久久久99热福利| 国产精品一区二区电影| 国产女人精品视频| 国产成人精品免费久久久久| 一区二区三区视频免费| 国产日本欧美一区二区三区在线| 久久久久国产精品www| 亚洲性线免费观看视频成熟| 欧美精品videos| 中文字幕久热精品在线视频| 国产日韩欧美在线观看| 精品日韩中文字幕| 精品久久久久久久久久国产| 成人a级免费视频| 91国内产香蕉| 国语自产在线不卡| 精品无码久久久久久国产| 国产精品自产拍在线观| 日韩在线不卡视频| 日韩中文字幕视频在线| 欧美中文在线观看| 欧美电影第一页| 美日韩精品视频免费看| 亚洲国产精久久久久久| 555www成人网| 欧美国产日韩视频| 日韩精品免费观看| 亚洲伊人一本大道中文字幕| 2018中文字幕一区二区三区| 欧美日韩亚洲高清| 欧美日韩国产中文精品字幕自在自线| 高清在线视频日韩欧美| 亚洲自拍偷拍第一页| 色综合伊人色综合网站| 最新日韩中文字幕| 欧美性高跟鞋xxxxhd| 国产精品精品视频一区二区三区| 欧美在线播放视频| 国语自产精品视频在线看| 成人精品一区二区三区| 欧美韩国理论所午夜片917电影| www.日本久久久久com.| 国产精品视频免费观看www| 国产精品免费久久久久久| 久久久久久69| 午夜精品久久久久久久99黑人| 欧美在线视频一区| 国产成人在线一区二区| 亚洲成人中文字幕| 日韩欧美在线视频日韩欧美在线视频| 亚洲性生活视频| 一区二区三区亚洲| 日本精品中文字幕| 国产亚洲精品美女久久久| 国产一区二区香蕉| 欧美日韩免费区域视频在线观看| 日韩成人激情视频| 国产精品高潮呻吟久久av野狼| 亚洲精品一区二三区不卡| 欧美在线激情视频| 奇门遁甲1982国语版免费观看高清| 91日本在线视频| 欧美一级在线播放| 国语自产精品视频在线看一大j8| 青草青草久热精品视频在线观看| 亚洲国产精品国自产拍av秋霞| 亚洲天堂男人天堂| 国产精品丝袜久久久久久不卡| 欧美精品videofree1080p| 久久色在线播放| 精品美女永久免费视频| 国产精品中文在线| 亚洲精美色品网站| 国产精品免费一区| 欧美大肥婆大肥bbbbb| www国产精品com| 亚洲在线观看视频| 中文字幕亚洲欧美日韩2019| 91精品视频专区| 欧美视频在线观看免费网址| 福利精品视频在线| 欧美电影在线观看高清| 精品爽片免费看久久| 国产精品网红福利| 亚洲欧美日韩第一区| 欧美精品在线观看91| 啊v视频在线一区二区三区| 国产啪精品视频| 中日韩美女免费视频网站在线观看| 91视频免费网站| 黑人巨大精品欧美一区免费视频| 亚洲天堂av电影| 在线播放精品一区二区三区| 欧美黑人性猛交| 亚洲欧美精品suv| 国外成人在线视频| 国产欧美在线视频| 亚洲人免费视频| 一本色道久久综合狠狠躁篇怎么玩| 91久久久久久久一区二区| 亚洲成人网久久久| 国产精品一区二区三| 成人综合网网址| 欧美午夜宅男影院在线观看| 精品偷拍一区二区三区在线看| 国产一区二区三区在线视频| 国产精品影院在线观看| 成人激情电影一区二区| 狠狠操狠狠色综合网| 国产精品免费久久久久久| 欧美在线观看日本一区| www国产精品视频| 亚洲自拍偷拍福利| 91香蕉国产在线观看| 色偷偷亚洲男人天堂| 日韩美女av在线免费观看| 国产精品久久久久久久天堂| 精品久久久中文| 亚洲人成电影在线观看天堂色| 亚洲福利视频免费观看| 成人国产精品久久久久久亚洲| 国产精品福利无圣光在线一区| 精品久久久久久久久中文字幕| 亚洲精品日韩欧美| 在线看欧美日韩| 国产精品视频精品| 久久久综合av| 色综合久久中文字幕综合网小说| 91啪国产在线| 欧美亚洲国产日本| 91精品久久久久久久久久| 亚洲a∨日韩av高清在线观看| 欧美另类老肥妇| 久久精品电影网| 韩日欧美一区二区| 热门国产精品亚洲第一区在线| 国产亚洲欧洲黄色| 亚洲男人天堂手机在线| 欧美电影《睫毛膏》| 欧美理论电影在线观看| 亚洲免费福利视频| 国产玖玖精品视频| 日本一区二区不卡| 一色桃子一区二区| 欧美性videos高清精品| 亚洲一区av在线播放| 国产精品成人一区二区三区吃奶| 精品一区二区亚洲| 欧美极品少妇xxxxx| xvideos亚洲人网站| 国产一区二中文字幕在线看| 欧美视频不卡中文|