반응형

Python tech/Python Experience 5

Colab에서 내 구글 드라이브의 파일 불러오기

Colab을 사용하다보면, 파일을 읽어올 필요가 있죠. Local PC에서 실행하면, 파일 입출력만 사용하면 되는데, Colab에서는 다르게 적용해야 합니다. 1. 구글 드라이브에 파일 업로드 2. 오른쪽 마우스 > 링크 생성 3. 링크 복사 아래와 같은 형식으로 링크가 복사됩니다. https://drive.google.com/file/d/엄청나게 긴 파일 id/view?usp=sharing 저기서 "엄청나게 긴 파일 id"를 가져옵니다. 다음과 같은 명령어 양식에 맞게 실행시켜주면, Colab에서 내 파일을 저장할 수 있습니다. !wget "https://drive.google.com/uc?export=download&id=엄청나게 긴 파일 id" -O 저장하려는 파일명 예 시 구글 드라이브 파일 id..

[Python] DFS, BFS 알고리즘

# 전역 변수 # 트리를 딕셔너리 형태로 표현 # Key: 노드 / Value : 하위 노드 list graph = { 1:[2,3,4], 2:[5], 3:[5], 4:[], 5:[6,7], 6:[], 7:[3] } DFS (깊이 우선 탐색, Depth First Search) 루트 노드(최상위)부터 리프 노드(최하위)까지 탐색한 후, 다시 올라와서 내려가는 방식 스택(Stack)을 활용할 수 있음 재귀(Recursion) 함수를 활용할 수 있음 # 재귀 함수 이용한 DFS # Input : 최상위 노드 값 def recursion_dfs(node, discovered=[]): discovered.append(node) # 탐색한 노드에 추가 for x in graph[node]: # 해당 노드 하위의 ..

[Python] Numpy Array를 DB (SQLite)에 저장하기

Image Processing 관련 project 진행 도중 numpy array를 sqlite3에 저장할 필요가 생겼습니다. 방법을 찾던 도중 가장 괜찮은 방법을 소개하겠습니다. 우선, 필요한 모듈을 import 해줍니다. import sqlite3, io 1. Numpy Array -> DB Text > DB에 INSERT 할 때, array를 text로 변경해주는 함수입니다. # nd.array to text when Insert DB def adapt_array(arr): """ http://stackoverflow.com/a/31312102/190597 (SoulNibbler) """ out = io.BytesIO() np.save(out, arr) out.seek(0) return sqlite..

[Python] PyQt5를 exe 파일로 만들기 (오류 해결 과정)

PyQt5로 제작한 프로그램을 exe 파일로 만들어봅시다. 실행하기도 편리하고, 배포하기도 쉽습니다. 1. pyinstaller 설치 python은 pyinstaller를 통해 exe 파일로 만들 수 있습니다. cmd> pip install pyinstaller pip로 간단하게 pyinstaller 설치가 가능합니다. 설치중 오류가 발생한다거나, 최신 버전 설치가 필요하신 분은 수동으로 설치해주어야 합니다. @최신 버전 수동 설치 pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz 2. exe 파일 생성, using pyinstaller 가장 기본적인 exe 파일 생성 방법은 아래와 같습니다. 예시로, 파이썬 파일 ..

[PyQt5] QPixmap에서 jpg 파일이 보이지 않는 현상 해결

PyQt5로 프로그램을 만들던 도중 문제가 발생했다. QPixmap으로 이미지를 보여주려는데 jpg 이미지가 보여지지 않는 것.... png 이미지는 정상적으로 보여진다. 원인을 찾아보는 도중 print(QtGui.QImageReader.supportedImageFormats()) 를 통해 QPixmap에서 불러와지는 이미지 포맷 형식을 알아보니,,, jpg가 없었다. 지원하는 이미지 포맷은 다음과 같다. [PyQt5.QtCore.QByteArray(b'bmp'), PyQt5.QtCore.QByteArray(b'pbm'), PyQt5.QtCore.QByteArray(b'pgm'), PyQt5.QtCore.QByteArray(b'png'), PyQt5.QtCore.QByteArray(b'xpm'), PyQ..