Python/Python for Windows

[Python] 다수 파일에 원하는 문자열 찾기

Pydole 2018. 5. 26. 14:09

 

* 디렉토리가 다르면 sys.argv를 이용하여 파일명을 입력받을 수 있다.

 

 

파이썬의 glob모듈과 정규식을 이용한 다수의 파일에서 원하는 문자열 찾기

 

 

- 디렉토리 : D:\test

  . 파일1 : test1.txt

    AAA

    BBB

    CCC FFF

    DDD

    [AAA] AAA-

 

 

  . 파일2 : test2.txt

    DDD

    EEE AAA.

    FFF HHH

 

 

  . 파일3 : test3.txt

    GGG

    HHHBBB

    III

    FFFAAA

 

 

 

 

'AAA' 이라는 문자열이 포함되어 있는 파일과 정보 추출

 

import glob
import re

s = str(input('Input Searching Text : '))

p = re.compile(s)

for i in glob.glob(r'D:\test\*.txt'):
    with open(i, 'r') as f:
        for x, y in enumerate(f.readlines(),1):
            m = p.findall(y)
            if m:
                print('File %s [ %d ] Line Searching : %s' %(i,x,m))
                print('Full Line Text : %s' %y)
        print()
Input Searching Text : AAA

File D:\test\test1.txt [ 1 ] Line Searching : ['AAA']
Full Line Text : AAA

File D:\test\test1.txt [ 5 ] Line Searching : ['AAA', 'AAA']
Full Line Text : [AAA] AAA-

File D:\test\test2.txt [ 2 ] Line Searching : ['AAA']
Full Line Text : EEE AAA.


File D:\test\test3.txt [ 4 ] Line Searching : ['AAA']
Full Line Text : FFFAAA