프로그래밍 319

[Python] pytube에서 "KeyError('streamingData')" 오류 발생 문제

문제점 및 증상 pytube를 이용하여 개인적인 유튜브 영상 다운로더를 만들어서 이용하고 있었는데, 얼마전부터 계속하여 "KeyError('streamingData')" 오류가 발생하며 영상 다운로드가 실패하였습니다. KeyError: 'streamingData' 해결 과정 구글 검색을 통하여 여러 가지를 확인해 보니, pytube 패키지를 새로 설치해보라는 것들이 많아서 "pytube"를 제거하고, "pytube3"를 설치해보고 하였으나 오히려 다른 문제가 발생하였습니다. ... File "C:\Dev\Python\Python310\lib\urllib\request.py", line 563, in error return self._call_chain(*args) File "C:\Dev\Python\Py..

[C] warning: implicit declaration of function ‘strnstr’

문제점 및 증상오랜만에 라즈베리파이 3에서 C로 작업할 일이 생겨서, 이것 저것 찾아가며 소스를 작성하던 중에 "strnstr()" 함수를 이용하려던 중에 다음과 같은 오류가 발생하였습니다.config_test.c:75:16: warning: implicit declaration of function ‘strnstr’; did you mean ‘strstr’? [-Wimplicit-function-declaration] pStartPort = strnstr(buff, read_count, "\"PORT\":"); ^~~~~~~ strstrconfig_test.c:75:14: warning: assignment to ‘char *’ from ‘int..

[정규식] 차량번호 형식 확인용 정규 표현식

개요우리 나라, 중국, 러시아 등지의 차량번호 형식을 확인하는 정규 표현식을 알아 보도록 하겠습니다. 차량번호 문자열에 공백은 없다고 가정합니다.한국 번호판용 정규 표현식2007년 이후 발급되는 신형 번호판은 아래 정규 표현식을 이용하여 형식이 맞는지 확인할 수 있습니다.^\d{1,4}[가-힣]\d{4}$영업용 차량이나 2007년 이전 구형 번호판의 경우 아래 정규 표현식을 이용하여 형식이 맞는지 확인할 수 있습니다.^[가-힣]{1,3}\d{1,4}[가-힣]\d{4}$"^" : 다음 정규식으로 문자열이 시작되어야 함"$" : 문자열의 마지막이 일치해야 함"\d{1,4}" : 숫자 1 ~ 4 개 일치"[가-힣]" : 한글 1자"\d{4}" : 숫자 4개"[가-힣]{1,3}" : 한글 1 ~ 3자중국 번호판..

프로그래밍 2023.04.18

[Python] Qt5 UI의 폰트 및 컨트롤이 깨져서 표시되는 문제

개요 마소의 서피스 노트북을 이동할 때 이용하고 있는데, 동일한 UI 소스를 실행했는데, PC에서는 정상적으로 표시되던 UI가 서피스 노트북에서는 다음과 같이 원래 모습과 다르게 나오는 현상이 발생하였습니다. 해결 방법 가장 손쉬운 방법은 프로그램의 메인으로 가장 처음 실행되는 소스에 다음 환경설정 변수를 추가하는 방법입니다. from os import environ environ['QT_AUTO_SCREEN_SCALE_FACTOR'] = '1' # 모니터 해상도에 따른 폰트 및 컨트롤 크기 자동 조정 두 번째 방법은 Qt 설정을 직접 변경하는 방법입니다. from PyQt5 import QtWidgets, QtCore, QtGui QtWidgets.QApplication.setAttribute(QtCo..

[Python] error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

문제점 및 증상 잘 동작하던 코드를 다른 곳으로 복사하여 실행하였더니, 다음과 같은 오류가 발생하였습니다. (rknn) hunature@orangepi5:/opt/hunature/vpc_gabo/demo$ python rknn_demo1.py --> Load RKNN model done [ WARN:0@0.178] global loadsave.cpp:244 findDecoder imread_('./space_shuttle_224.jpg'): can't open/read file: check file path/integrity Traceback (most recent call last): File "/opt/hunature/vpc_gabo/demo/rknn_demo1.py", line 77, in img ..

[Python] PNA Network Analyzer에서 현재 화면 데이터 다루기

개요 Keysight PNA Network Analyzer (회로망분석기)를 이용하여 현재 측정되어 표시되는 데이터를 SCPI 명령을 이용하여 다루는 방법에 간단하게 정리해 둡니다. 화면 데이터 CSV로 저장하기 현재 화면에 표시되는 측정 데이터를 CSV 파일로 저장하는 SCPI 명령은 다음과 같습니다. MMEM:STOR:SCR 'filename.csv' 위 명령에서 "filename.csv"는 저장할 파일의 이름과 경로를 나타내는데, 확장자는 CSV를 사용해야 합니다. 예를 들어, C드라이브의 "Temp" 폴더에 "data.csv" 파일로 저장하고 싶다면, 다음과 같이 명령어를 입력하면 됩니다. MMEM:STOR:SCR 'C:\Temp\data.csv' 위와 같이 명령을 보내면, 현재 화면에 보이는 그..

[Python] RKNN_toolkit2를 이용한 onnx -> rknn 모델 변환 소스

개요 ROCK5 model B SBC를 구매하여 AI 모델 변환하는 소스를 작성하여 보겠습니다. onnx -> rknn 변환 소스 구현 동작 환경 구성은 Ubuntu 20.04 x86_64 OS에 도커를 이용하여, "RKNN_toolkit2" 패키지를 설치하였습니다. 다음은 "RKNN_toolkit2 v1.4.0"을 이용한 onnx -> rknn 모델 변환 소스입니다. # onnx to rknn converter (Python-3.8 tested) # date 2023-02-09 # author hbesthee@naver.com from argparse import ArgumentParser from rknn.api import RKNN DATASET = './dataset.txt' QUANTIZE_ON..

[Python] pytube로 영상 다운로드 시, 발생하는 'NoneType' object has no attribute 'span' 오류

문제점 및 증상 "pytube"로 영상 다운로드 시, 다음과 같은 오류가 발생하며 영상 다운로드가 실패하는 문제가 얼마전부터 발생하기 시작했습니다. YouTube('https://youtu.be/9bZkp7q19f0').streams.first() Traceback (most recent call last): File "", line 1, in YouTube('https://youtu.be/9bZkp7q19f0').streams.first() File "C:\Dev\Python\Python310\lib\site-packages\pytube\__main__.py", line 296, in streams return StreamQuery(self.fmt_streams) File "C:\Dev\Python\P..

[Python] 라즈베리파이 GPIO 제어하기 - 기초

개요 라즈베리파이에서 GPIO를 제어하는 방법을 알아보겠습니다. 패키지 설치 라즈베리파이에서 GPIO를 제어하기 위해서는 "RPi.GPIO" 패키지가 필요합니다. 다음과 같이 "RPi.GPIO" 패키지를 설치할 수 있습니다. $ pip install RPi.GPIO GPIO 제어 간단 출력 예제 다음은 GPIO를 이용한 간단한 출력 예제입니다. import time import RPi.GPIO as GPIO LED = 3 # LED 제어용 GPIO 핀 DELAY = 0.3 # GPIO를 BCM 칩 기준으로 GPIO.setmode(GPIO.BCM) # LED 를 위한 핀을 출력으로 설정 GPIO.setup(LED, GPIO.OUT) try: while True: # LED 켜기 GPIO.output(LED..

[Python] 엑셀 파일의 특정 영역의 자료들 수정하기

개요 이번 글에서는 엑셀 파일을 열어서 특정 영역의 자료들를 수정하는 방법을 알아보겠습니다. 기초적인 내용은 앞 글을 참고하시기 바랍니다. "새로운 엑셀파일을 만들고 데이터 입력하기":https://hbesthee.tistory.com/2242 "엑셀 파일을 열고, 배열 데이터 입력하기":https://hbesthee.tistory.com/2243 특정 영역에 대한 자료 입력 방법 아래 코드는 (B2 = 2, 2) ~ (C4 = 4, 3) 특정 영역의 데이터를 주어진 데이터로 수정하는 예제입니다. import openpyxl # 엑셀 파일 열기 workbook = openpyxl.load_workbook('example.xlsx') # 이전에 만든 시트 선택 sheet = workbook['create1..

728x90