嘿。 我使用glob.glob函數來獲取我提供的路徑上的所有.txt文件的列表。 正則表達式我提供的功能爲C:\build\*.txt
,但它僅適用於根目錄,並且我想查找c:\ build \中的所有文本文件,例如c:\build\files\ha.txt
。如何使用正則表達式查找所有文本文件?
這怎麼可能? 謝謝。
嘿。 我使用glob.glob函數來獲取我提供的路徑上的所有.txt文件的列表。 正則表達式我提供的功能爲C:\build\*.txt
,但它僅適用於根目錄,並且我想查找c:\ build \中的所有文本文件,例如c:\build\files\ha.txt
。如何使用正則表達式查找所有文本文件?
這怎麼可能? 謝謝。
注意glob.glob
將接受UNIX shell通配符,而不是正則表達式對象(見documentation)。
您可以完成使用os.walk
從所有子目錄獲取所有.txt
文件的壯舉。給你這樣一個列表的方法可以是這樣的:
def get_all_txts_on_dir(path):
import os
ret = []
for root, dir, files in os.walk(path):
for name in files:
if name.endswith('.txt'):
ret.append(name)
return ret
glob
不使用正則表達式,它有一個更簡單的規則。
另一種方法是使用os.walk()
並使用正則表達式自己執行標題匹配。
[使用Glob()在Python中遞歸查找文件的可能的重複?](http://stackoverflow.com/questions/2186525/use-a-glob-to-find-files-recursively-in-python ) – marcog 2011-01-10 15:03:41