Python/Python Programming 117

[ 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 ] numpy를 이용한 1차원 배열 2 차원 배열로 변환

list 데이터를 처리하다 보면, 1차원 배열을 2차원 배열로 변경해야할 때가 있는데, numpy를 이용하면 쉽게 이용할 수 있다. reshape : 데이터를 변동시키지 않고, 새로운 배열을 만든다. import numpy as np # 3 X 10 a = [ x for x in range(30) ] a = np.array(a) a = a.reshape(10,3) # (2차원 원소수, 원소당 갯수) print(a) array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11], [12, 13, 14], [15, 16, 17], [18, 19, 20], [21, 22, 23], [24, 25, 26], [27, 28, 29]]) # 5 X 6 a = a.reshape(..

[ 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 ] xml 타입의 데이터 json 으로 변경

xmltodict 모듈설치 pip install xmltodict xml sample https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms762271(v=vs.85) Sample XML File (books.xml) Table of contents Sample XML File (books.xml) Article 10/27/2016 In this article --> The following XML file is used in various samples throughout the Microsoft XML Core Services (MSXML) SDK. Gambardella, Matthew XML Developer's Guide Co..

[ 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_..

[ Python ] eval과 literal_eval 차이

eval 함수는 표현식 string 값 그대로 실행할 수 있도록 하는 Built-in함수이다. print(eval('1+1')) # 산술연산 print(eval('{1:10}')) # 타입변경 이렇게 강력한 함수지만, 시스템 명령어도 그래도 실행할 수 있기 때문에, 보안상 위험할 수 있다. eval('__import__("os").getcwd()') 'D:\\note' literal_eval는 eval() 함수와 동일한 기능을 하지만 형변환 정도만 가능하다. from ast import literal_eval print(type(literal_eval('{1:10}'))) # 타입변경 연산, 시스템 명령어는 에러를 발생시킨다. print(literal_eval('1+1')) # 산술연산 ---------..