파이썬 10

[python3] 셸 명령 파싱하기 성능 비교

기존에 파이썬 cpu 온도 얻어오는 코드가 awk 를 두번 돌려서 파싱하는 구조로 되어 있었습니다. vcgencmd measure_temp 명령 결과를 파이썬에서 파싱해도 되는데 뭐가 성능이 더 좋을까 하는 궁금증이 생겼습니다. pi@RPwiznet013:~/wiznet/skp_arhis/app $ python3 Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> ret, res = subprocess.getstatusoutput("vcgencmd measure_te..

IT/python 2024.01.05

[python] 문자열 뒤집기

기록용으로 남깁니다. 쉬운 내용인데 가끔 가물가물해서 정리합니다. 문자열이 s = "God is my judge" 일 때 s[::-1] 로 뒤집힌 값을 얻을 수 있습니다. 참고로 이 슬라이스 인덱싱은 [시작위치:끝위치:step/stride/보폭] 으로 지정할 수 있습니다. 끝위치 전까지로 끝위치 문자는 포함되지 않습니다. s 는 s[0::1] 과 같습니다. 다른 방법(for 를 사용한 c 방법, 리스트로 변환하는 방법)들이 있지만 이 방법만 기억하셔도 좋을 것 같습니다. 깔끔하니까요!!

IT/python 2023.06.19

[python3][opencv][windows 10]개발 환경 구축하기

라 쓰고 간단한 나만의 해결 기록이라 읽음.. 그냥 pip3 로 opencv-python 을 설치하거나 opencv-contrib-python, opencv-python-headless 등의 패키지로는 전혀 해결이 안되었습니다. import cv2 만 실행해도 오류가 발생했었거든요... (venvimg) D:\Users\JHG\Documents\work\wiznet\project\SKP\ARHIS\AI\30034>python3 -c "import cv2" Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'cv2' (venvimg) D:\Users\JHG\Documents\work\wizne..

IT/python 2022.07.22

[python] json.dumps object of type bytes is not json serializable

기록용으로 남깁니다. dict 자료형으로 패킷 교환을 통해 ipc 를 잘 수행해왔는데 코드를 조금 수정하니 제목처럼 dumps 는 byte 자료형으로는 json 직렬화를 못한다는 오류를 보게 되었습니다. 뭘까 하며 코드를 보다 보니 기존 dict 에 bytes 값을 추가한 것이 눈에 띄었습니다. 감사하게도 순수 이진값이 아니라 base64로 인코딩된 byte 문자열이라서 해당 값을 decode 를 사용해서 문제를 쉽게 해결했습니다.

IT/python 2020.12.22

[python3] smtp 로 여러명에게 이메일 보내기

삽질을 거듭하다가 기록용으로 남깁니다. def smtphandler(self): smtp = None mailconfig = self.config['primaryServer'] if not mailconfig['server'] or not mailconfig['port'] or not mailconfig['uid'] or not mailconfig['pw'] or not mailconfig['sender']: mailconfig = self.config['secondaryServer'] if 'smtp/starttls': smtp = smtplib.SMTP('smtp.gmail.com', 587) elif 'ssl/tls': smtp = smtplib.SMTP_SSL('smtp.gmail.com', 46..

IT/python 2020.12.14

[python] json dump/dumps/load/loads 구분하기

대충 이해하고 쓰다가 오랜만에 소스를 보니 헷갈립니다.개인적으로 정리할 목적으로 글을 남깁니다. json.dumpjson.dumpsdump 계열은 파이썬의 객체(dict 등)를 다른 형태로 변환합니다.dump 함수는 파이썬 객체를 스트림 객체(파일 등)로 변환합니다.dumps 함수는 파이썬 객체를 한줄의(직렬화된) json 문자열로 변환합니다.오류Expecting value: json.loadjson.loadsload 계열은 대상을 파싱해서 파이썬의 객체(dict 등)로 변환합니다.load 함수는 스트림 객체(파일 등)에서 데이터를 읽어 파이썬 객체(dict 등)로 변환해줍니다.loads 함수는 json 문자열을 파싱해서 파이썬 객체로 변환해줍니다.오류Expecting value: line 1 colum..

IT/python 2020.09.07

[python] 설치된 패키지 확인

importlib.lib.find_spec() 을 사용해서 지정된 이름의 파이썬 모듈이 존재하는지 확인할 수 있습니다.def isPythonModuleInstalled(name:str) -> bool: import importlib.util spec = importlib.util.find_spec(name) if spec is None: return False else: return True다음과 같이 쓰면 False 가 반환되야 합니다. 파이썬 모듈로 vim은 없으니깐요print(isPythonModuleInstalled('vim'))더 자세한 방법은 이 글을 참고하시기 바랍니다.

IT/python 2020.07.29

VSCode 상에서 이미 설치된 모듈을 찾을 수 없다고 할 때 해결 방법

어쩌다 보니 파이썬 프로젝트를 수정하는게 업무로 떨어졌습니다.파이썬 개발 환경을 검색하여 구축하였는데.. 그 과정 중에 Visual Studio Community 상에서 python 환경을 선택했다가 회사 상황이 community 버전을 쓸 수 없는 상황이어서 이를 포기하고 Visual Code 를 설치하고 파이썬 extension 을 설치했습니다.파이썬 프로젝트를 clone 해서 Run/Start Debug 메뉴 또는 F5 키로 실행을 시키는데 PyQt5 모듈을 찾을 수 없다는 메시지가 뜹니다!! 그래서 원래 이 프로젝트 관련된 분에게 물어보니 requirements.txt 라는 파일이 있고 여기에는 의존 모듈이 있으니 다음 명령으로 의존 명령을 설치하면 잘 될거라고 합니다.pip install -r ..

IT/python 2020.06.04