簡體   English   中英

如何使用Python在文件夾中搜索與正則表達式匹配的文件名?

[英]How do I search through a folder for the filename that matches a regular expression using Python?

我在編寫一個函數時遇到一些困難,該函數將在目錄中搜索與特定正則表達式匹配的文件(我使用're.compile'編譯)。 所以我的問題是:如何搜索目錄(我計划使用os.walk)來查找與特定正則表達式匹配的文件? 非常感謝一個例子。 提前致謝。

這將找到所有以兩位數字開頭並以gif結尾的文件,如果您願意,可以將文件添加到全局列表中:

import re
import os
r = re.compile(r'\d{2}.+gif$')
for root, dirs, files in os.walk('/home/vinko'):
  l = [os.path.join(root,x) for x in files if r.match(x)]
  if l: print l #Or append to a global list, whatever
  1. 閱讀RE模式的match方法。

  2. 閱讀如何將具有特定文件擴展名的文件復制到我的python(2.5版)腳本中的文件夾中的所有答案?

  3. 選擇一個使用fnmatch re.match替換fnmatch 這需要仔細考慮。 這不是剪切和粘貼。

  4. 然后,提出具體問題。

如果你必須匹配的模式很簡單,可以使用文件系統通配符,我建議你看一下glob模塊,它就是為了這個目的而存在的。

Stackoverflow的一位創始人是JGSoft的RegexBuddy的忠實粉絲。 當我在工作中編寫一個簡單的文件移動腳本時,我一時興起,並且使用您選擇的語言很容易為工作生成最好的正則表達式。 如果您在開發正則表達式本身時遇到問題,這是檢查邏輯的好工具。 我想我現在也是一個大粉絲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM