天天看點

python腳本之過濾關鍵字

<code>#!/usr/bin/env python</code>

<code>#coding:utf8</code>

<code>import</code> <code>os</code>

<code>import</code> <code>sys</code>

<code>import</code> <code>fileinput</code>

<code>import</code> <code>glob</code>

<code>path </code><code>=</code> <code>'.'</code>

<code>egrep_file </code><code>=</code> <code>sys.argv[</code><code>1</code><code>]</code>

<code>def</code> <code>grep(egrep_file):</code>

<code>    </code><code>index </code><code>=</code> <code>[]</code>

<code>    </code><code>if</code> <code>os.path.exists(egrep_file):</code>

<code>        </code><code>with </code><code>open</code><code>(egrep_file) as f:</code>

<code>            </code><code>lines </code><code>=</code> <code>f.readlines()</code>

<code>            </code><code>for</code> <code>i </code><code>in</code> <code>lines:</code>

<code>                </code><code>s </code><code>=</code> <code>i.strip()</code>

<code>                </code><code>if</code> <code>len</code><code>(s) &gt; </code><code>0</code><code>:</code>

<code>                    </code><code>index.append(s)</code>

<code>    </code><code>return</code> <code>index</code>

<code>ret </code><code>=</code> <code>grep(egrep_file)</code>

<code>file</code> <code>=</code> <code>r</code><code>'zhaopin*'</code>

<code>files </code><code>=</code> <code>glob.glob(</code><code>file</code><code>)   </code><code>#擷取所有比對路徑</code>

<code>print</code> <code>(files)</code>

<code>#print (ret)</code>

<code>for</code> <code>i </code><code>in</code> <code>files:</code>

<code>    </code><code>if</code> <code>os.path.isfile(i):                </code><code>#判斷路徑是否為檔案</code>

<code>        </code><code>with </code><code>open</code><code>(i) as f:</code>

<code>            </code><code>for</code> <code>line </code><code>in</code> <code>lines:</code>

<code>                </code><code>for</code> <code>grep_s </code><code>in</code> <code>ret:</code>

<code>                    </code><code>if</code> <code>grep_s </code><code>in</code> <code>line:</code>

<code>                        </code><code>print</code> <code>i,</code>

<code>        </code><code>#               print line,</code>

<code>      </code><code>#  s = line.replace(grep_s,'\033[32;%s\033[0m'%grep_s')</code>

<code>         </code><code>s </code><code>=</code> <code>line.replace(grep_s,</code><code>'\033[1;31;40m;%s\033[0m'</code><code>%</code><code>grep_s)</code>

<code>         </code><code>print</code> <code>(s)</code>

本文轉自 Anonymous123 51CTO部落格,原文連結:http://blog.51cto.com/woshitieren/1789225