我想構建一個小型的python腳本,它基本上與grep相反。 我想匹配沒有「searled_string」的目錄/子目錄中的文件。python grep反向匹配
到目前爲止,我做到了這一點:
import os
filefilter = ['java','.jsp']
path= "/home/patate/code/project"
for path, subdirs, files in os.walk(path):
for name in files:
if name[-4:] in filefilter :
print os.path.join(path, name)
這個小腳本將與「Java」的或每個子目錄裏面的「JSP」擴展,並且將它們輸出全通路上市everyfiles。
我現在想知道如何做剩下的事情,例如我希望能夠在一個文件中忘記會話管理條目(允許任何人直接訪問文件)搜索: 「if( !user.hasPermission」,並列出不包含此字符串的文件。
任何幫助將不勝感激!
感謝
你可能想看看-l,-L,和grep -v的選項。 -v反轉匹配(即打印行不符合模式)。 -l列出包含與該模式匹配的行的文件,-L列出不包含該模式的文件。 – jkasnicki 2010-05-26 04:47:10
查看os.path.splitext處理文件擴展名。 (http://docs.python.org/library/os.path.html#os.path.splitext) – gimel 2010-05-26 04:52:02