본문 바로가기
반응형

Python126

Python - 스플렁크(Splunk) Query 검색 Splunk 는 외부에서 손쉽게 쿼리 검색등 다양한 작업을 할 수 있도록 지원하고 있다.그중 쿼리 검색에 대해서 알아보도록 하자.먼저 Splunk 라이브러리 splunk-sdk를 설치하자.pip install splunk-sdk이후 아래와 같은 코드를 통해 쿼리 검색이 가능하다.import splunklib.client as client# 스플렁크 연결HOST = "splunk_host"PORT = 8089USERNAME = "account_username"PASSWORD = "account_password"# 검색 쿼리 설정SEARCH_QUERY = "search index=my_index | stats count by _time"# 스플렁크 연결service = client.connect( ho.. 2024. 6. 8.
Python - 리스트(list) 중복제거, 고유값 만들기 Python에서 리스트를 중복값을 제거하는 가장 손쉬운 방법은 set() 이라는 내부 함수를 이용하는 방법이다.set()을 이용하면 리턴 값으로 중복된 값을 제거한 list를 기본적으로 dict()로 반환하게 된다.다음과 같이 이용이 가능하다. >>> set([1,2,3,4,5,1,2,4,5,6,2,1,1,34,3,]){1, 2, 3, 4, 5, 6, 34}한글과 같은 문자열도 정상적으로 사용이 가능하다. >>> set(["2","1","1","ㄴ","ㄱ","ㄷ","한","ㄴ","ㄱ"]){'한', '1', 'ㄴ', 'ㄱ', 'ㄷ', '2'}결과를 보면, 딕셔너리 형태이긴 하지만 리스트처럼 활용이 가능하다. 하지만 dict 사용에 데이터타입을 list로 활용하고자 한다면, list 문을 추가하여 결과를 반.. 2024. 6. 8.
Python - ' '.join() 리스트(list) 연결하여 문자열 로 만들기 파이썬의 join() 함수는 리스트(list)에 있는 요소들을 지정된 구분자로 연결하여 문자열을 반환하는 함수이다.실무에서 리스트 값을 문자열로 표현하고자 할 때 자주 사용된다.예제 코드로 살펴보면, 아래와 같이 구분자를 \n 를 줄경우 각 리스트에 항목 사이에 \n(줄바꿈)이 들어가서 화면에 표시될때 줄바꿈 효과가 나타나게 된다.strings = ["Hello", "Python", "World"]result = "\n".join(strings)print(result) 만약 공객을 이용하게 되면, 문자열 사이에 공백이 들어가게 된다.strings = ["Hello", "Python", "World"]result = " ".join(strings)print(result) 2024. 6. 8.
Python - Regex 정규식 표현과 직접 함수 구현 정규식 표현에 re 라이브러리를 사용하는데, 어느정도 성능적인 이점을 가져가면서 사용할 수 있는지 확인하기 위해서 비교해보았다.import timeitimport re# 정규식 사용def find_strings_three_more_numbers(input_string): pattern = r'\D*\d\D*\d\D*\d\D*' matches = re.findall(pattern, input_string) return matches# 직접 구현def has_three_more_numbers(input_string): num_count = 0 for char in input_string: if char.isdigit(): num_count +.. 2024. 6. 8.
Python - Days, 날짜 Count 쉽게 계산하기 Datetime 값을 처리하다보면, Days(날짜)값을 확인하고 싶은 경우가 많다.이럴경우 가장 쉽게 진행할 수 있는 방법은 초단위로 변환한 후 Round 내장함수로 처리해주는 것이 가능하다.코드는 다음과 같다. import datetimestart_date = datetime.datetime.now()end_date = datetime.datetime.now()end_date = end_date + datetime.timedelta(days=5)sub_date = end_date - start_date# 전체 초시간을 하루 초단위로 구해진 값day_count = (sub_date.total_seconds() / 86400)#.0 이하를 버리기 위해서는 round로 처리해주는.. 2024. 4. 24.
Python - 리스트(Lists)간 교집합(중복/공통값), 합집합(고유/유일값) 값 확인하기 Python 코드에서 리스트를 자주 다루는데, 이때 동시에 List에서 중복 값, 고유/유일값을 확인해야 하는 상황이 종종 발생한다. 이때 활용할 수 있는 방법으로 List간 교집합을 하는 방법으로 몇가지가 있는지 알아보도록 하자. 그럼 먼저 쉬운 합집합 부터 확인해보자. 1. 합집합(고유/유일값) 합집합은 두 집합의 속한 중복이 제외된 모든 원소의 집합이라고 할 수 있다. 파이썬에서는 합집합을 쉽게 작성할 수 있는데, 바로 set 함수 이다. 이외에도 | 를 이용해서 포함되는 모든 원소를 확인이 가능하다. 1. | 함수 | 함수를 이용해서 중복값을 제외한 값들을 반환한다. >>> alist = {1,2,3,4,5} >>> blist = {4,5,6,7,8} >>> clist = alist | blist.. 2024. 4. 12.
Django - MySQL/MariaDB 연결하기 대부분의 서비스용도로 사용하다면, 기본적으로 제공하는 파일 기반의 Database인 SQLlite 보다는 MySQL, 혹은 MariaDB를 통해 Database를 사용하는 것이 확장성에 좋기 때문에 MySQL/MariaDB 연결 방법에 대해서 정리해 본다. 1. mysqlclient 설치 가장 먼저 해야 할 일은 MySQLClient를 설치하는 것이다. Visual Studio 기준으로 env 에서 마우스 우클릭을 통해 Manage Python Packages 에서 mysqlclient를 입력하여 설치할 수 있으며, 이는 pip를 통해 설치한 것과 동일하다. 설치가 완료되면, pip 패키지 설치는 아래와 같이 가능하다. pip install mysqlclient 설치가 완료되면, 패키지가 추가된 것을 확.. 2024. 4. 12.
Python - SQLAlchemy, NULL/empty Column 포함하기 Python을 사용하는데, SQLAlchemy를 활용하는 경우가 많다. 이때 NULL을 허용하는 Column이 정상적으로 조회가 되지 않는 경우가 발생하면서, !=과 is not 의 차이점을 알게되었는데 다음과 같다. A Column에는 Int형으로, 1과 0으로 데이터를 넣을 수 있고, Null을 포함한 데이터가 쌓이고 있었다. 하여 필자가 만들고 싶었던 쿼리는 다음과 같다. # 원하는 쿼리 select * from Table where Table.result is not 1 그래서 != 1 통해 쿼리를 만들어 조회하였다. Session.query(Table).filter(Table.result != 1).all() 하지만 실제 쿼리를 해보면, NULL 이거나 Empty인 컬럼은 조회가 되지 않는다. .. 2024. 4. 12.
Python - JIRA API 로그인 및 검색하기 JIRA를 개발을 시작하게 되면, 가장 먼저 해야할 부분으로 API 로그인 부분이라고 할 수 있다. 필자가 경험하면서 진행했던 내용을 주요한 포인트를 집어서 정리해보았다. 주요한 포인트는 SSL 인증 부분과 패스워드 인코딩 이였다. User/Password(Token) 로그인 하기 ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997) 가장 먼저 프록시와 같은 별도 인증서를 사용하는 경우 인증서 오류가 발생한다. 이를 해결하기 위해서는 options에 Dict 구조로 설정하여 접근 사이트와 'verify'를 .. 2024. 4. 12.
반응형