분류 전체보기
-
[Python] IIS log date Sqlite3 Memory DB and pandas DataFramePython/Data Struc & algo 2018. 5. 24. 23:05
- pandas.read_sql_query를 통해 쿼리의 결과값을 pandas DataFrame 가져올 수 있다 # 약 42만 라인의 IIS로그를 SQLite3 메모리DB로 생성하여 'scbytes', 'csbytes', 'timetaken' 컬럼을 pandas와 연동 pandas.read_sql_query(쿼리, conn) import sqlite3 from datetime import datetime import pandas as pd conn = sqlite3.connect(':memory:') c = conn.cursor() c.execute('''CREATE TABLE memorylogdb (date date, time time, sitename VARCHAR(50), computername V..
-
[Python] paramiko와 timedelta를 조합하여 리눅스 로그 핸들링Python/Python for Linux 2018. 5. 24. 22:48
* 테스트 환경이기 때문에 root 접속 보안은 배제하고 포스팅 * seculog를 샘플로 하였지만 날짜 형식은 동일하기 때문에 다양한 리눅스 로그에 활용이 가능 # securelog 파일에서 특정일을 선택해서 출력이 가능. (로그가 없어서 4일전으로 출력) day_ago = datetime.datetime.now() - datetime.timedelta(days=4) → 1 : 전일, 2 : 2일전 month = day_ago.strftime('%b') → 월 날짜 형식( 5월 : May ). log[0][2:]와 매칭 day = day_ago.strftime('%d') → 일 날짜 형식( 00 ). log[1]와 매칭 import paramiko import datetime day_ago = date..
-
[ Python ] shutil모듈의 rmtree 메소드를 이용한 하위 디렉토리와 파일 삭제Python/Python Programming 2018. 5. 22. 21:54
shutil.rmtree로 삭제된 파일은 복구 할 수 없으므로, 유의하여 진행한다. 실무에서 사용할 경우 본인환경에서 충분한 테스트를 수행해야 한다. shutil.rmtree('경로')와 같이 이용할 수 있으나 한번 삭제되면 복구될 수 없으니 고민하여 수행하는 것이 좋다. 1. 삭제될 경로확인 2. 해당 명령어가 실행될 경우 삭제되는 폴더와 파일 3. 실행 전 Y / N 트리거 파일삭제 전 os.path.walk를 이용해 삭제리스트를 출력한다. 폴더와 파일수가 많으면 os.listdir을 이용해 1depth만 출력할 수 있다. 경로는 os.abspath를 이용해 상대경로가 입력되더라도 절대경로가 출력된다. 파일작업시 '절대경로'와 '상대경로'의 결과값이 달라질 있으니 중요하고, 또 중요하다. import..
-
[YBM 선정후기] COS Pro 2급 Python 시험 후기Python/Etc 2018. 5. 20. 17:27
1. 온라인 로그인ID와 패스워드를 꼭 기억 시험프로그램을 실행시키면 온라인 로그인을 진행하여 인증한다. 로그인ID와 PW는 꼭 기억하고 가자. ID와 PW를 잊었을 때, 어떤 절차가있는지는 잘 모르겠지만. 시험 전에 ID나 PW를 막 찾을 수 없는지 않은가... 꼭 기억하고 가자! 2. 시험환경 모의 테스트 오른쪽 하단에 있는 버튼이 중요하다. 지문의 경우 프로그래머스 COS Pro 2급 모의고사와 동일하다고 보면 된다 기억에 의존하는 것이니 실제 '초기화', '실행'은 위치가 다를 수 있다. 저장기록 (각 문제가 저장된 시점) 코드 초기화 실행 코드저장 코드저장을 해야 최종 수정본이 반영된다. 저장기록으로 저장시점을 알 수 있다. 감독관이 설명해준다 3. 시험유형과 풀이후기 - 빈칸 채우기, 코딩 수..
-
[Python] pickle 모듈 - 객체형태를 그대로 유지하면서 파일에 저장하고 읽기Python/Python for Windows 2018. 5. 20. 02:42
사전 데이터 형식으로 파일에 저장 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 모듈을 이용한 윈도우 이벤트 로그 추출Python/Python for Windows 2018. 5. 20. 01:42
당일 이벤트 로그 출력 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] 3.6+에서 사전자료형(Dict)은 입력순서를 보존Python/Python Programming 2018. 5. 19. 16:40
DOCS : https://docs.python.org/3/whatsnew/3.6.html 파이썬 3.6+ 에서는 사전입력 순서를 보존한다. 그렇다면 굳이 자료구조의 collections.OrderedDict()를 사용할 필요가 없다는 것인가. 또한 재구현으로 3.5 보다 메모리를 20% ~ 25% 덜 사용하는 등 개선이 있다. 사전을 차례로 입력하고 약 10번 정도 출력해 보았다. dic = {} dic['제주도'] = '한라산' dic['서울'] = '북한산' dic['강원도'] = '설악산' dic['충청북도'] = '속리산' dic['전라도'] = '속리산' cnt = 0 while cnt