Python/Python for Windows 37

[Python] 변경된 날짜기준 파일검색

* 날짜를 비교하기 위해서는 비교하는 타입이 같아야 한다. print(type(inputDate)) print(type(fileMtime)) * datetime.strptime : 입력받은 날짜를 'datetime.datetime 형식으로 변환 * datetime.fromtimestamp(os.path.getmtime) : 파일의 수정시간을 'datetime.datetime 형식으로 변환 # 테스트 디렉토리 경로 예제파일 경로 : [D:\test], 파일명 : [files.xlsx], 수정일자 : [2018-06-10] 경로 : [D:\test], 파일명 : [test1.txt], 수정일자 : [2018-05-26] 경로 : [D:\test], 파일명 : [test2.txt], 수정일자 : [2018-0..

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

* 디렉토리가 다르면 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..

[Python] pickle 모듈 - 객체형태를 그대로 유지하면서 파일에 저장하고 읽기

사전 데이터 형식으로 파일에 저장 import pickle as pk with open(r'D:\Log\pickle.txt', 'wb') as f: data = {1:'python',2:'is',3:'beautiful'} pk.dump(data,f) €}q (KX pythonqKX isqKX beautifulqu. 저장된 파일 읽기 import pickle as pk with open(r'D:\Log\pickle.txt', 'rb') as f: loadData = pk.load(f) print(loadData) {1: 'python', 2: 'is', 3: 'beautiful'}

[Python] win32evtlog 모듈을 이용한 윈도우 이벤트 로그 추출

당일 이벤트 로그 출력 import win32evtlog as wevt import datetime today = datetime.datetime.now().date() day_ago = today - datetime.timedelta(days=1) server = 'localhost' logtype = 'Application' hand = wevt.OpenEventLog(server,logtype) flags = wevt.EVENTLOG_BACKWARDS_READ|wevt.EVENTLOG_SEQUENTIAL_READ total = wevt.GetNumberOfEventLogRecords(hand) while True: events = wevt.ReadEventLog(hand, flags,0) if ev..

[Python] 리스트의 index를 활용하여 문자열 분리

리스트 객체의 index() 메소드 : 입력되는 인자 값에 해당하는 인덱스를 리턴 리스트의 index 메소드를 활용하여 특정 요소('log:')를 기준으로 앞부분과 뒷부분을 분리하기 ---------------------------------------------------------------------- 예제 텍스트 파일) 2018-05-12 00:00:01 ABC DEFG log: this is python 2018-05-12 00:00:02 ABC DEFG HI log: this is python 2018-05-12 00:00:03 ABC DEFG HI JKL log: this is python ---------------------------------------------------------..

[Python] subprocess 모듈과 DOS ping 명령어를 이용한 핼스 체크

파이썬 subprocess 모듈과 DOS ping 명령어를 이용한 IP ping 체크 DOS 명령어의 결과값을 이용하여 ping 체크 및 응답시간을 체크할 수 있다. Ping Check와 응답시간 임계치는 조건문을 이용하여 별도로 모니터링을 할 수 있다. import subprocess import re pinglist = (ip1,ip2) p = re.compile('[=]\s(\d+)[m][s]') for i in pinglist: cmd = 'ping -n 3 '+i # ping을 3번 수행 try: for x in subprocess.check_output(cmd).splitlines(): p1 = p.findall(str(x)) print(i, 'Ping Ok','최소 응답시간: '+p1[0],..

[Python] sys모듈로 입력인수 처리하기

파이썬 실행파일에 인수를 받아 처리하고자 할 때, sys모듈의 argv 메소드를 이용하여 처리할 수 있다. 파일을 코드에 삽입하지 않고, 인수로 받아서 처리할 때 사용할 수 있다.. test2.py 실행파일에 인수로 받는 파일내용 읽기 import sys import os os.chdir(r'C:\test') args = sys.argv[1:] for x in args: with open(x, 'r') as f: for y in f.readlines(): print(y)

[Python] To occur windows beep sound. (윈도우 비프음 발생시키기)

모니터링을 할 경우 어떤한 조건이 Fail 발생할 때, 비프음을 발생시켜 간단하게 모니터링을 할 수 있다. DOCS : https://docs.python.org/3/library/winsound.html?highlight=winsound#module-winsound import winsound as ws def beepsound(): freq = 2000 # range : 37 ~ 32767 dur = 1000 # ms ws.Beep(freq, dur) # winsound.Beep(frequency, duration) print(beepsound())

[Python] SQLite 메모리DB를 활용한 파이썬 IIS 로그파서

파이썬 SQLite 메모리DB를 이용한 IIS 로그파서 구현 [ 테스트 로그 ] - 약 640MB - 라인수 : 약 42만 라인 - 수행시간 : 30초 import sqlite3 from datetime import datetime def timecheck(): return datetime.today().strftime('%X') print('시작시간 :', timecheck()) conn = sqlite3.connect(':memory:') c = conn.cursor() c.execute('''CREATE TABLE memorylogdb (date date, time time, sitename VARCHAR(50), computername VARCHAR(50), sip VARCHAR(20), meth..