이전 포스팅에서는 파이썬 코딩에서 re.split을 활용하여 공백 문자로 문자열을 자르는 방법을 다뤘습니다. 이를 통해 특정 문자열을 공백을 기준으로 나누어 리스트로 반환하는 방법을 알 수 있습니다. 책 내용이나 전공 서적과 같은 데이터가 큰 파일을 파이썬으로 읽어오면 이 내용들을 한 변수에 모두 저장하기에 힘들 때가 있습니다. 따라서 공백을 기준으로 단어를 나누어 저장하거나 혹은 저장 버퍼를 작게 가지기 위해 사용합니다. 만약 해당 내용이 궁금하시다면 아래 링크를 참고해주세요.
2023.12.29 - [Python] - [Linux/Python] 파이썬 re 정규표현식 모듈의 split 함수로 공백 문자로 자르기 예제(space split)
이전 포스팅에서는 파이썬 코딩에서 warning.filterwarnings의 once 옵션을 사용하여 경고 메세지를 1회만 출력하는 방법을 다뤘습니다. 이를 통해 경고 메세지를 한 번만 보고 싶을 때 어떻게 처리하는지 알 수 있습니다. 파이썬에서 함수들을 호출하다보면 내부적으로 경고 메시지가 출력될 때가 있습니다. 이 메시지가 반복되면 콘솔창이 지저분해지기 때문에 경고 메시지가 위험하지 않다면 한번만 나오도록 설정할 수 있습니다. 따라서 warning.filterwarnings 활용한 once 옵션 설정 법이 궁금하시다면 아래 포스팅을 참고해주세요.
2023.12.29 - [Python] - [Linux/Python] 파이썬 filterwarnings 설정하여 warning 메시지 한번만 출력하기 예제(once 설정)
이전 포스팅에서는 파이썬 코딩에서 re.sub를 활용하여 기존의 단어를 새로운 단어로 치환하는 방법을 다뤘습니다. 이를 통해 특정 단어를 다른 단어로 대체하는 방법을 알 수 있습니다. 만약 포트폴리오 같은 문서를 작성하였는데, 여기 나오는 단어를 일괄적으로 바꿔야한다면 파이썬 코딩을 통해 일괄 치환을 쉽게 진행할 수 있습니다. re 정규표현식 모듈의 sub 함수를 사용하면 치환이 됩니다. 만약 파이썬 코딩에서 문자열 치환 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.12.29 - [Python] - [Linux/Python] 파이썬 re 정규표현식 모듈로 sub 명령으로 문자열 치환하기 예제
오늘 포스팅에서는 파이썬 코딩에서 NTP 서버 구성을 위해 ntplib 패키지를 설치하는 예제를 알아보겠습니다. ntplib 패키지는 파이썬에서 NTP(Network Time Protocol) 서버와 통신할 수 있는 기능을 제공합니다. 아래의 명령을 입력하여 파이썬 환경에 NTP 패키지를 설치합니다.
$ pip3 install ntplib
아래는 파이썬 코딩에서 NTP 서버 구성 후 pool.ntp.org에서 시간 응답을 받는 예제입니다. 이를 통해 파이썬 코드를 사용하여 외부 NTP 서버와 통신하여 정확한 시간 정보를 가져올 수 있는 방법을 알 수 있습니다. 또한 이 시간을 이용하여 클라이언트에게 시간을 전송합니다. 이처럼 시간 동기화를 위한 서버를 구성할 수 있습니다.
import ntplib
from time import ctime
from socketserver import BaseRequestHandler, UDPServer
import socket
class NTPHandler(BaseRequestHandler):
def setup(self):
self.request = self.request[1] # 소켓 객체를 추출하여 할당
def handle(self):
ntp_client = ntplib.NTPClient()
response = ntp_client.request('pool.ntp.org')
current_time = ctime(response.tx_time)
self.request.sendto(current_time.encode(), self.client_address)
server = UDPServer(('localhost', 4646), NTPHandler)
server.serve_forever()