PYTHON 140

[ Python ] requests 모듈 다양한 이용

설치 : pip install requests 1. Response Text. (Text 출력) import requests with requests.Session() as s: r = s.get(site) print(r.text) 2. Response Status Code. (응답코드 출력) import requests with requests.Session() as s: r = s.get(site) print(r.status_code) 3. Response Encoding. (Encoding 출력) import requests with requests.Session() as s: r = s.get(site) print(r.encoding) 4. Response Hearders. (Hearders 출력..

[ Python ] 정규식 이용한 IP address 마스킹(감추기) 하기

정보보호를 목적으로 IP주소의 3번째 옥텟을 마스킹 처리해야 할 때, 정규식을 이용하여 마스킹 처리를 할 수 있다. import re ipaddress = ('172.168.10.12', '192.168.2.11','192.168.114.12','11.12.0.14') p1 = re.compile(r"(\d+)[.](\d+)[.](\d+)[.](\d+)") # 정규식 패턴과 추출할 그룹 지정. 3번째 옥텟 for i in ipaddress: m1 = p1.search(i) print(m1.group(1) + '.' + m1.group(2) + '.' + '***' + '.' + m1.group(4)) ----------------------------------------------------------..

[ Python ] 리눅스 iostat 결과값 DataFrame만들고, csv 저장

iostat : CPU통계와 디바이스와 IO통계를 출력해주는 유틸 tps 장치에서 초당 입출력 작업 수 kB_read/s 장치에서 초당 읽은(Read) 데이터 블록 (초당) kB_wrtn/s 장치에서 초당 쓴(Write) 데이터 블록 (초당) kB-read 장치에서 초당 읽은(Read) 데이터 블록 kB-wrtn 장치에서 초당 쓴(Write) 데이터 블록 [ 옵션 ] -m MB단위로 표현 iostats명령어의 결과를 DataFrame으로 만들고, csv 파일로 export import subprocess from datetime import datetime import time def iostat_data(): ps = subprocess.Popen(('iostat', '-m'), stdout=subpr..

[ Python ] Prometheus metric 값 가져오기

Python을이용하여 promQL 쿼리하여 값 가져오기 Sample Metric : jvm_memory_used_bytes import requests from datetime import datetime instance = '127.0.0.1:8080' job = 'spring' query = 'sum(jvm_memory_used_bytes{area="heap", instance="%s", job="%s"})' % (instance,job) def prometheus_data(instance,jop,query): response = requests.get('http://127.0.0.1:9090/api/v1/query', params={'query': query}) response = response...

[ Python ] csv 파일 읽고, 쓰기 ( pandas / csv 모듈 )

데이터를 처리하다 보면 csv 파일 자주 만나게 되는데, Python pandas와 csv 모듈로 처리할 수 있다. 파이썬 pandas csv 파일 읽고, 쓰기 샘플데이터 : example.csv (UTF-8) ============================= "Student","Math","Computer","English" "인호",90,85,100 "철수",85,100,95 "영희",75,70,85 "민수",95,85,90 "지훈",100,85,95 "지영",90,85,90 "정희",95,85,95 ============================= pandas의 read_csv 메소드로 csv 파일 읽기 import pandas as pd df = pd.read_csv(r'C:\Python\..

[ Python ] 리눅스 mpstat 유틸을 이용한 CPU Core별 통계 뽑기. (평균값, 최대값, 최소값)

Datebase CPU Core 증설작업 후 Core별로 CPU가 모두 활동하는지 확인해볼 필요가 생겼다. 리눅스의 mpstat는 Core 별 사용량을 모니터링할 수 있다. 결과를 파일로 export 하고, Python을 하여 DataFrame화 하려 한다. DataFrame 하게 되면 DB, NoSQL 등에 저장하여 통계적으로 활용할 수 있겠다. 목표 : 리눅스의 mpstat 유틸과 python을 이용하여 Core 별 통계 추출 mpstat 명령어를 이용한 데이터 수집 ( 파일 리다이랙션 ) # 1초간격으로 모든 CPU Core 사용량을 추출 (리눅스 명령) # Output File : cpu_result_final.txt mpstat -P ALL 1 >> cpu_result_final.txt %usr..

[ Python ] ntplib 모듈을 이용한 시간 동기화 점검

ntplib 모듈설치 pip install ntplib NTP서버와 로컬간의 offset 체크 import ntplib from time import ctime timeServer = 'time.windows.com' # NTP Server Domain Or IP c = ntplib.NTPClient() response = c.request(timeServer, version=3) print('NTP Server Time과 Local Time과 차이는 %.2f s입니다.' %response.offset) -------------------------------------------------------------------- NTP Server Time과 Local Time과 차이는 0.71 s입니다. ..

[ Python ] 날짜형식의 문자열 타입을 datetime 타입 형식으로 변환

Database, logs 등 날짜형식 데이터를 Python으로 불러와서 처리할 때, 문자열로 저장되게 된다. Python에서 날짜 데이터를 이용하여 그래프를 그리거나 연산을 하기 위해서는 형 변환이 필요하다. datime.datetime.strptime : date 문자열을 datetime 형식으로 변환 from datetime import datetime strtype = '2018-09-15 00:01:14' print(type(strtype)) logdate = datetime.strptime(strtype, '%Y-%m-%d %H:%M:%S') print(type(logdate)) print(logdate) -------------------------------------------------..

[ Python ] difflib 모듈 ( 문자열 비교, 유사도 )

difflib.SequenceMatcher ( 유사도 ) from difflib import SequenceMatcher def similar(a, b): return round(float(SequenceMatcher(None, a, b).ratio()),2) * 100 print(similar('서울시 강남구','서울시 영등포구 ')) ----------------------------------------------------------------------- 62.0 difflib.context_diff ( 문자열 목록 비교 ) samplefile_1.txt samplefile_2.txt 1 파이썬 2 python 3 iz 4 beautiful 1 파이선 2 python 3 is 4 beautifu..

[ Python ] Remine API 사용하기

Redmine Python을 이용하면 일감관리, 노트관리, 뉴스 등을 자동화하거나 다른 서비스와 연동할 수 있다. 모듈설치 pip install python-redmine 접근방법은 "User / Password"와 "API Key" 인증 2가지가 있다. API Key를 허용하는 방법은 글 하단에 표기하였다. redmine = Redmine('url', username=' ', password=' ') redmine = Redmine('url', key=' ') 신규 일감(Issue) 생성하기 from redminelib import Redmine import datetime redmine = Redmine('url', key=' ') issue = redmine.issue.create( project_..