프로그래밍 301

[Python] 날짜 문자열을 timestamp로 변환하기

개요 파이썬에서 날짜 문자열을 timestamp 숫자로 변환하는 방법을 정리해 둡니다. timestamp 형식으로 변환하는 방법 날짜 문자열을 바로 timestamp 숫자 자료로 변환하는 기본 함수는 없습니다. datetime.timestamp() 함수가 datetime 형을 timestamp 숫자 자료형(double)으로 변환하여 줍니다. 따라서, 날짜 문자열을 먼저 datetime 형으로 변환한 후, datetime.timestamp() 함수를 이용하여 timestamp 숫자 자료형(double)으로 변환하면 됩니다. >>> from datetime import datetime >>> dt = datetime.strptime('2022-11-10 11:28:07', '%Y-%m-%d %H:%M:%S'..

[Python] class의 재미난 특징

파이썬 클래스를 이용하면서 몇 가지 재미난 특징이 있어서 정리해 둡니다. 클래스의 동적 정의 첫 번째는 선언된 클래스라도 중간에 동적으로 멤버 변수 및 멤버 함수를 추가할 수 있다는 점입니다. 뭐 당연한 것인데, 여기에 "isinstance()" 함수가 연관되면 재밌게 됩니다. 아래 예제를 보시면, 특정 클래스에 멤버 변수를 동적으로 추가하는 하였습니다. 멤버 변수를 추가하기 전과 추가한 후의 "isinstance()" 함수의 반환값이 어떻게 될지 추측해 보시기 바랍니다. class MyClass: def __init__(self): self.data = 5 b = MyClass() print(f'isinstance(b, MyClass) is {isinstance(b, MyClass)}') print(b..

[Python] numpy.array 배열을 문자열로 변환하는 방법

개요 numpy.array 배열을 문자열로 변환하는 간단한 방법을 정리해 둡니다. 변환 방법 다음과 같이 string.join() 함수를 이용하면 됩니다. >>> import numpy as np >>> det = np.array([[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]]) >>> det[:, :4] array([[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]) >>> det[0][:4] array([0, 1, 2, 3]) ','.join([str(coord) for coord in det[0][:4]]) >>> '0,1,2,3' 참고자료 "파이썬 python list to string 리스트를 문자열로 변경":..

[Python] 윈도우(windows)에서 시그널(signal) 다루기

윈도우(windows) 시그널(signal) 파이썬으로 개발할 때, 멀티 프로세서 서로 다른 프로세스로 작업을 나누어 처리할 경우가 종종 있는데 소켓 통신 등을 사용하지 않고 간단하게 프로세스간 시그널(signal)을 주고 받는 방법을 사용할 수 있는데, 윈도우(windows) 개발 환경에서는 몇 가지 제약이 있습니다. 리눅스 등에서는 특정 프로세스에 시그널(signal)을 보낼 때, os.kill(pid, sig) 함수를 이용하면 됩니다. 하지만 윈도우 환경에서 os.kill() 함수를 호출하면 해당 프로세스가 바로 종료되면서 두 번째 인자로 전달된 시그널(signal) 값이 반환됩니다. 윈도우 환경에서 시그널을 보내기 위해서는 psutil 패키지의 Process.send_signal() 함수를 이용해..

[Python] OpenCV 버전 및 패키지 설치 위치 확인 방법

작업을 하다보면, 현재 설치된 OpenCV의 버전을 확인해야할 일이 가끔있는데, 다음과 같이 설치된 패키지의 버전 및 위치를 확인할 수 있습니다. # OpenCV 정보 확인 예제 import cv2 # 패키지 설치 위치 확인 print(cv2.__file__) # 패키지 버전 확인 print(cv2.__version__) 위 코드를 실행한 결과는 다음과 같습니다. /opt/intel/openvino/python/python3/cv2/python-3/cv2.abi3.so 4.5.3-openvino 참고자료 "[OpenCV] version 정보":https://blog.naver.com/serimo/222445175612

자바스크립트 코드 최적화 문제 #1

프로젝트 실무에서 적용한 코드 리팩토링 예를 정리해 봅니다. 위 화면과 같이, 어떤 결과에 대해 화면에 테이블 형태로 표시하여주는 함수를 최적화하여 보았습니다. /** * @brief 수행한 BIT 결과를 하단 상태바의 자체점검 결과에 표시합니다. * @param bit_results 수행한 BIT 결과를 담고 있는 객체 */ function load_bit_results_on_footer(bit_results) { let elmTable = document.querySelector('#bit_latest_footer'); if (elmTable == null) { elmTable = document.createElement('tr') elmTable.id = 'elmfooter' document.bod..

[Python] 변수 할당

데이터형별 기본적인 변수 할당 및 초기화는 다음과 같이 수행합니다. i = 10 n = 0 str = "문자열 데이터" pi = 3.14 list1 = [1, 3, 45] tuple1 = (1, 3, 45) is_bool = True dict1 = { "a":0, "b":1, "s":"string" } 동일한 값으로 한꺼번에 초기화는 다음과 같이 할 수 있습니다. i = j = k = 0 name1 = name2 = name3 = f'no name' real1 = real2 = real3 = 0.0 rect1 = rect2 = rect3 = (0, 0, 0, 0) 튜플이나, 배열(list)에서 각 항목들을 한꺼번에 변수들로 입력 받을 수 있습니다. 주의할 점은 배열이나 튜플 항목의 개수와 좌변의 변수의 ..

[Python] 내장 함수를 이용한 텍스트 파일 다루기

개요 이번 글에서는 파이썬 표준 라이브러리에 내장되어 있는 함수를 이용하여 텍스트 파일을 읽고 쓰는 방법에 대해서 정리해 둡니다. 파이썬 표준 라이브러리 내장 함수를 이용하기 때문에 별도의 패키지를 import 할 필요 없이 코드를 작성하여 실행할 수 있는 장점이 있습니다. 텍스트 파일 읽어오기 텍스트 파일을 열어서 파일 내의 내용을 읽어오기 위하여 "open()" 함수를 이용합니다. open(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None) "open()" 함수의 mode 매개변수에 텍스트 모드('w', 'r', 'wt', 'rt', 등)로 파일을 열면, io.TextIOBa..

[batch] zip 파일을 7-zip(7z) 파일로 변환하는 배치 파일(Convert zip to 7-zip)

다음과 같이 작성된 배치 파일(Convert zip to 7z.bat)을 zip 파일이 있는 폴더에 복사한 후에 실행하면, 전체 zip 파일들을 7-zip(7z) 파일로 변환하고, 원본 파일은 "ZIP_FILES" 폴더에 백업합니다. @echo off REM set 7-zip file full-path SET ARCHIVE="C:\Program Files\7-Zip\7z.exe" REM set 7-zip parameters SET PARAMETERS=a -r -t7z -mx=1 REM make zip file backup folder MKDIR ZIP_FILES REM list all zip files FOR %%f IN (*.zip) DO ( REM extract zip file %ARCHIVE% x ..

프로그래밍 2022.01.13

[Python] 파일 확장자 분리하기

파이썬에서 파일 확장자를 분리하려면, os.path.splitext() 함수를 이용하면 됩니다. splitext() 함수를 이용하는 방법은 다음과 같습니다. from os.path import splitext print(f"{splitext('bar')=}") print(f"{splitext('foo.bar.exe')=}") print(f"{splitext('/foo/bar.exe')=}") print(f"{splitext('.cshrc')=}") print(f"{splitext('/foo/....jepg')=}") print(f"{splitext('/foo/...a.jepg')=}") print(f"{splitext('/foo/...a....jepg')=}") print(f"{splitext('/foo..

728x90