반응형 프로그래밍/Python51 [Python] 파일명 일괄 변경 .txt 파일을 따로 이름을 정하지 않고 저장하였을 때 "새로운 텍스트 파일 [number].txt" 식으로 저장이 되는데 파일명 format을 한번에 변경하고자 할 때 사용 ex) 새로운 텍스트 파일 2.txt -> 2_test.txt import glob import re import os for name in glob.glob("새로운*[0-9]{1,2}*.txt"): number=re.search("[0-9]{1,2}", name) os.rename(name, "{}_test.txt".format(number.group()) 변경하고자 하는 파일 name의 형식에 따라 정규식 표현 pattern이 변경될 수 있으므로 정규식 표현을 공부해야할 수도 있음. 프로그래밍/Python 2023. 8. 20. [Python] argparse를 이용한 파이썬 실행 시 매개변수 받기 이전, 실행 시 sys.argv를 이용한 매개변수 인자값 전달받는 방법을 확인했다. 2023.03.18 - [프로그래밍/Python] - [Python] 파이썬 실행 시 매개변수 전달 [Python] 파이썬 실행 시 매개변수 전달 파이썬 input과 같은 함수로 유저에게 값을 직접 받을 수 있는데 파이썬을 실행시 값을 전달받을 수도 있다. 아래의 코드로 확인가능하다. import sys if __name__ == '__main__': print(sys.argv[0]) # main.py print(s park-duck.tistory.com 단점이 1. 매개변수의 조건에 따라 코드가 길어지거나 더러워질 수 있어 가독성이 떨어진다. 2. 시간이 지나면 매개변수의 사용 조건을 까먹어서 코드를 다시 봐야 한다. .. 프로그래밍/Python 2023. 3. 18. [Python] 파이썬 실행 시 매개변수 전달 파이썬 input과 같은 함수로 유저에게 값을 직접 받을 수 있는데 파이썬을 실행 시 값을 전달받을 수도 있다. 아래의 코드로 확인가능하다. import sys if __name__ == '__main__': print(sys.argv[0]) # main.py print(sys.argv[1]) # a print(sys.argv[2]) # b 단점은 sys.argv가 배열이기 때문에 매개변수가 없으면 sys.argv의 len값은 1이기 때문에 sys.argv[1], sys.argv[2]와 같은 값을 호출하면 out of range 에러가 발생한다. 아래와 같이 코딩하거나 또는 for, if문등을 적절히 사용하면 에러는 피할 수 있다. import sys if __name__ == '__main__': pr.. 프로그래밍/Python 2023. 3. 18. [Python] 문장(String)에서 리스트 단어 찾기 find 함수로도 찾을수 있지만 뭐... 어쨋건... 리스트로 단어들을 나열하고 임의의 문자열에 포함된 리스트들의 단어들을 출력하는 방법이다. my_find = ['hello', 'hi', 'sorry', 'my', 'mine', 'a', 'b', 'c', 'd', 'e'] my_str = "hello my friend" res = list(v for v in my_find if(v in my_str)) print(res) 리스트로 단어를 나열하고 임의의 문자열에 하나이상 포함되어 있나 출력하는 방법이다. my_find = ['a', 'b', 'c', 'd', 'e'] my_str = "hello" res = any(v for v in my_find if(v in my_str)) print(res) # .. 프로그래밍/Python 2022. 12. 8. [Python] 딕셔너리 리스트 특정 속성이 최대값/최소값 불러오기 딕셔너리(JSON)을 리스트로 받아올 때 리스트 중 딕셔너리의 임의 속성값이 가장 큰 것을 가져오고 싶을 때가 있다. index는 첫번째, 두번째 등 순번을 매기는 속성, value는 실제 값이라고 가정을 하고 value가 최대값/최소값인 딕셔너리를 뽑아오는 방법이다. temp =[{'index':99,'value':1},{'index':98,'value':2},{'index':97, 'value':3}] res = max(temp, key=lambda v: v['value']) print(res) value가 가장 높은 {index:97, value:3} 딕셔너리를 가져온다. 프로그래밍/Python 2022. 12. 8. [Python] Teachable Machine 이미지 프로젝트(Tensorflow Lite) 이 글은 Teachable Machine에서 이미지 분류를 하고 Tensorflow Lite로 모델을 실행하는 방법이다. 환경은 Raspberry Pi 3B Buster(앞으로의 프로젝트는 Buster를 선호한다) Python3.7 1. TensorFlow Lite 설치 아래의 사이트에서 본인의 os에 맞는 버전을 설치한다. 라즈베리 buster라면 보통 arm32/python3.7이다. https://www.tensorflow.org/lite/guide/python#install_tensorflow_lite_for_python 2. 예제 파일&모델 다운로드 git clone https://github.com/tensorflow/examples.git --depth 1 cd lite/examples/so.. 프로그래밍/Python 2022. 12. 7. [Python] OpenCV 사람 표정 검출(라즈베리파이) 테스트환경은 아래와 같다. 라즈베리파이3/4 (둘 다 테스트) buster OpenCV 4.1.0 Keras 2.4.3 이게 얼굴을 검출하고 그 검출된 사진으로 표정을 검출하기 때문에 진짜 겁나 느리다 ... 라즈베리로는 도저히 못돌리겠다 github에 돌아다니는 코드를 클론해서 사용했다. 링크는 아래에 https://github.com/petercunha/Emotion 코드를 보면 이전에 작성했던 글에서 얼굴만 가져와서 다시 모델링을 비교하는 방식이다. 얼굴만 가져오는 예시는 아니고 full body를 가져오는 방식인데 모델만 바꾸면 되니 참고하려면 참고하자 2022.11.11 - [프로그래밍/Python] - [Python] OpenCV 사람인식(라즈베리파이) 근데 실행이 안되서 코드를 조금 바꿨다... 프로그래밍/Python 2022. 11. 11. [Python] OpenCV 사람인식(라즈베리파이) 테스트환경은 아래와 같다. 라즈베리파이3/4 (둘 다 테스트) buster OpenCV 4.1.0 Keras 2.4.3 .일단 라즈베리파이이다보니 너무 느려서 사진 크기도 줄이고 흑백사진으로 디스플레이했다. 3은 답답할 정도로 느리다 ... 모델은 아래의 링크에 있다. https://github.com/opencv/opencv/tree/master/data/haarcascades 사람을 인식하기 위해 fullbody를 사용했다. 아래는 소스코드 import cv2 import numpy as np from matplotlib import pyplot as plt from keras.models import load_model body_cascade = cv2.CascadeClassifier('./mode.. 프로그래밍/Python 2022. 11. 11. [Python] OpenCV 영상 출력(너비, 높이, 프레임) 이전 글 : 2022.10.06 - [프로그래밍/Python] - [Python] OpenCV 이미지 출력 [Python] OpenCV 이미지 출력 OpenCV 이미지 출력하는 방법이다. import cv2 image = cv2.imread('C:/Users/Park/Desktop/park-duck.jpg') cv2.imshow('image title', image) cv2.waitKey(0) cv2.destroyAllWindows() 1. imread(filename, fla.. park-duck.tistory.com 일단 먼저 예제에 사용될 동영상이다. 주인공은 우리 집 고양이 코코. 영상 길이는 5초이며 30 프레임이니 총 150장의 사진이 5초 동안 지나간다고 보면 된다. 너비는 1080, 높이는.. 프로그래밍/Python 2022. 10. 7. [Python] OpenCV 이미지 출력 OpenCV 이미지 출력하는 방법이다. import cv2 image = cv2.imread('C:/Users/Park/Desktop/park-duck.jpg') cv2.imshow('image title', image) cv2.waitKey(0) cv2.destroyAllWindows() 1. imread(filename, flag) 먼저 imread는 image read의 줄임말이며 파라미터로 이미지의 경로와 flag옵션을 가진다. flag옵션은 아래의 세가지이다. 1 = cv2.IMREAD_COLOR = 칼라 읽기 (투명 무시) 0 = cv2.IMREAD_GRAYSCALE = 흑백 사이의 값으로 읽기 -1 = cv2.IMREAD_UNCHANGED = 투명 영역 포함 읽기 return값은 이미지의 픽.. 프로그래밍/Python 2022. 10. 6. [Python] OpenCV란 먼저 OpenCV란 Computer Vision의 줄임말로 영상이나 이미지에 대한 처리를 도와주는 오픈 라이브러리이다. 상업적으로도 무료이며 Python, C, Java, Mac, Android, Matlab 등 넓은 범위로 지원하기 때문에 인기가 많다. 개인적으로 사람의 신체 중 가장 중요한 부분을 꼽자면 뇌, 눈, 손이라 생각하는데 특히 후각이나 촉각보다는 시각에 많이 의존한다고 생각한다(개인적) 사람의 눈에 대체할 수 있는 장비라 하면은 바로 카메라가 떠오른다. 그렇다면 촉각을 대체할 수 있는 장비는 무엇일까? 또는 후각을 대체할 수 있는 장비는 무엇일까? 일단 나는 깊이 생각해도 촉각은 경도를 측정하는 센서와 후각은 가스센서 정도? 시각을 대체할 수 있는 카메라는 사람의 눈과 매우 유사하기에 AI.. 프로그래밍/Python 2022. 10. 6. [Python] ModuleNotFoundError: No module named 'main_rc' 오류 해결 QT를 사용하면 볼 수도 있는 에러 main_rc를 못찾는건데 아무리 from import를 확인해도 경로는 틀리지 않았는데 계속 찾을 수 없다고 오류를 뱉는다. ui 파일이나 qrc 파일을 열어보면 main_rc.py 파일에 관한 건 없기 때문에 이유를 찾을 순 없으나 컴파일되면서 상대 경로의 오차 때문에 나타나는 현상이지 않을까 추측해본다. 결론은 ui, qrc, main_rc.py 등의 파일을 폴더별로 따로 분리하여 저장하고 있다면 main_rc.py 파일을 main.py와 같은 위치로 이동해보자 프로그래밍/Python 2022. 9. 7. 이전 1 2 3 4 5 다음 반응형