Python/Python__works 55

python text compare

#-*- coding: utf-8 -*- 는 당연히 추가한 상태였다. a = "가나" b = "가나" 보통 이런 경우에는 a == b, a in b 등으로 비교가 가능하다 그런데 만약 False를 떨궈준다면?.... import difflib diff = difflib.Differ() result = list(diff.compare(a, b)) 이렇게 한번 돌려본다 나의 경우에는 하나는 자모 분리가 되고 하나는 안되고 있었다 -_-;;; 미쳤나... 가나, ㄱ ㅏ ㄴ ㅏ ............@ㅅ@?!! 해결 방법은 아래와 같다 import unicodedata a = "가가" b = "가가" a_ = unicodedata.normalize('NFC', a) b_ = unicodedata.normaliz..

calendar 를 이용해서 년-월-일 목록 뽑아내기

import calendar calendar.calendar(2020) 이렇게 출력하면 -_-;; 스트링으로 된 달력(윈도우에서 보여주는 달력같은 ㅡㅡ) 이 출력됩니다. 이걸 쓰는건 좀 지저분하고 후처리가 복잡해질것 같아서 다른 방법으로 날짜 목록을 출력해보았습니다. import calendar month_range = [] for i range(2019, 2022): #year for j in range(1, 13): #month final_day = calendar.monthrange(i, j) month_dict = dict(year=i, month=j, day=final_day[1]) # 각 달의 마지막 날짜를 체크한다 month_range.append(month_dict) date_list = ..

dictionary

1딕셔너리에서 원하지 않는 값을 안전하게 지워보자 순회문 도중에 pop 남발하기 pop은 정확하게는 지우는 것이 아니라, 지정한 key의 value만(!) 던져주고 딕셔너리에서는 지워버립니다. test_dict_01 = dict() test_dict_01['a'] = 1 test_dict_01['b'] = '' test_dict_01['c'] = None for k, v in test_dict.items(): if v == None: test_dict.pop(k) 위와 같이 순회문 도중에 pop으로 지우면 갑분 에러를 만나게 됩니다. Traceback (most recent call last): File "test.py", line 6, in for k, v in test_dict.items(): Run..

서버의 로그를 파이썬으로 읽어서 slack으로 전달하기

from datetime import datetime import inspect, subprocess, socket from slacker import Slacker ''' 크론탭 로그 예제 Sep 01 00:00:00 서버이름 CROND[12345]: (실행하신분) CMD (실행 내용) Sep 01 00:00:00 서버이름 CROND[12345]: (실행하신분) CMD (실행 내용) Sep 01 00:00:00 서버이름 CROND[12345]: (실행하신분) CMD (실행 내용) 구현 내용 1. 매일매일 크론탭의 로그를 체크한다. 2. 예전 로그는 볼 필요가 없다. 3. 크론탭 로그에서 필요한 내용만 뽑아서 slack으로 전달한다. ''' # Sep 형식으로 월을 구해야 합니다. # 월을 영어로 구한 ..

datetime 활용하기

python에는 datetime이라는 훌륭한 라이브러리가 있습니다. datetime은 날짜와 시간을 조작하는 클래스를 제공합니다. 오늘은 strftime에 대해서만 공부해보려고 합니다. 현재 날짜와 시간을 알아낼때는 아래와 같이 이용합니다. from datetime import datetime all = datetime.now() # 2020-09-24 14:44:44 하지만 업무를 하다 보면 년도, 월, 일 혹은 시간만 뽑아내서 사용하는 경우가 훨씬 많습니다. 그럴때는 strftime을 이용하면 편리하게 이용할 수 있습니다. strftime은 포매터를 이용하여 원하는 내용을 출력하게 만들 수 있습니다. strftime과 strptime의 차이점을 간략하게 정리해보았습니다. strftime 객체를 문자열..

python slacker

1. python slack API - 준비 1. bot 만들고 token 얻기 https://api.slack.com/apps 위의 주소로 접속 Create New App 클릭 App Name 입력 -> Development Slack Workspace 선택 -> Create App 클릭 Your Apps 클릭 -> 방금 생성한 bot 클릭 Verification Token 복사 2. slacker 설치 pip install slacker 2. python slack API - 실제로 사용해보기 1. 공통 부분 작성 from slacker import Slacker token = "Verification Token" slack = Slacker(token) 2. 채널 리스트 얻어오기 channel_li..