python 27

자료 구조 - 큐Queue, 파이썬으로 구현한 큐 예제

큐Queue란? 먼저 넣은 데이터가 먼저 나오는 자료 구조를 큐라고 한다. 먼저 들어간 것이 먼저 나온다는 First In First Out, FIFO라고 말하면 큐다. 영어 사전에서 Queue를 찾으면 줄을 서다, 차례를 기다리는 줄을 뜻한다는 것을 확인할 수 있다. 식당에서 줄을 섰다면? 당연히 먼저 줄에 서 있던 사람이 먼저 식당으로 들어가야 한다. 참고: 위키백과 큐 파이썬 큐 예제 아래는 파이썬으로 구현한 큐 예이다. 큐를 구현하는 것 자체는 어렵지 않다. 큐의 의미 그대로 값을 순서대로 넣고 enqueue(), 먼저 넣은 값을 dequeue() 호출 시 꺼내오면 된다.

자료 구조 - 스택Stack, 파이썬으로 구현한 스택 예제

스택Stack이란? 스택은 한쪽 긑에만 자료를 넣거나 뺄 수 있는 선형 구조. 나중에 들어간 것이 먼저 나온다. Last In First Out, LIFO라고 하면 스택이다. 영어 단어 stack 뜻 자체가 쌓다, 더미이다. 간단히 접시가 쌓여 있는 형태를 떠올리면 된다. 접시를 쌓아 놓았을 때 위에서부터 쓰게 된다. 참조: 위키백과 스택 파이썬 스택 예제 아래는 파이썬으로 구현한 스택 예이다.

시계열 데이터베이스Time Series Database, influxDB v1.8 튜토리얼, python으로 데이터 입력과 조회하기

데이터베이스 만들기 먼저 데이터베이스를 만들어야 한다. influx를 실행한다. 그리고 weather란 데이터베이스를 만들자. $ influx Connected to http://localhost:8086 version 1.8.9 InfluxDB shell version: 1.8.9 > create database weather Python 코드 예 만들고 나면 아래처럼 코드를 적고 실행하자. influxdb 파이썬 팩키지 설치가 필요하다. 관계형 데이터베이스와 influxDB의 용어 차이를 다시 보면 아래와 같다. 관계형 데이터베이스 RDB influxDB v1.8 influxDB v2.0 database database bucket table measurement measurement indexed ..

Q. GPU 달린 내 컴퓨터에 제대로 pytorch가 설치되었는지 테스트 하는 방법은?

A. python을 실행한다. 아래처럼 입력한다. $ python import torch torch.rand(5).to('cuda') 제대로 작동한다면 아래처럼 나온다. cuda를 써서 난수를 얻어낸 것이다. torch.rand(5) 는 잘 실행되는데, torch.rand(5).to('cuda')는 엄청 오래 걸리고 잘 안 된다면, 관련 프로그램을 다시 설치해야 한다. pytorch가 cuda를 쓸 수 없는 상태이므로.

파이썬python에서 인기 있는 mysql 팩키지, PyMySQL

사용법이 아주 간단하다. 출처: github PyMySQL import pymysql.cursors # Connect to the database connection = pymysql.connect(host='localhost', user='user', password='passwd', database='db', cursorclass=pymysql.cursors.DictCursor) with connection: with connection.cursor() as cursor: # Create a new record sql = "INSERT INTO users (email, password) VALUES (%s, %s)" cursor.execute(sql, ('webmaster@python.org', 'v..

파이썬 셀레늄selenium을 활용한 웹크롤링 예

셀레늄은 시간이 오래 걸린다. 브라우저를 띄워서 버튼을 눌러가면서 진행하기 때문이다. 만약 인터넷 환경이 느려서 버튼 이미지가 늦게 뜰 경우에는 너무 빨리 버튼을 누르면 에러가 난다. 이 경우 좀 간격을 두고 진행해야 해서 많은 시간이 필요하다. 웹크롤링 코드 예 쿠팡에서 어떤 한 상품의 리뷰를 쓴 사용자명과 그들이 쓴 평점을 수집하는 코드 예 크롬드라이버 내려 받기 아래 코드는 맥 기준이다. 윈도우의 경우 파일 경로 설정을 다르게 해줘야 할 수 있다. # 라이브러리 불러오기 import pandas as pd from selenium import webdriver import time import math # 초기 설정 # 블루베리 시나몬 플렉스 시리얼 url = "https://www.coupang...

파이썬에서 sqlite3 예제 코드 CREATE, INSERT, SELECT, DELETE, UPDATE

간단한 sqlite3 예제 코드다. CREATE conn = sqlite3.connect('student.sqlite') cursor = conn.cursor() cursor.execute("CREATE TABLE student (id INTEGER primary key autoincrement, name char(32), class char(4))") cursor.close() conn.close() INSERT conn = sqlite3.connect('student.sqlite') cursor = conn.cursor() cursor.execute("INSERT INTO student (name, class) VALUES (?, ?)", ['홍길동', '1-1']) id = cursor.lastro..

파이썬 플라스크flask 로컬에서는 이미지가 뜨는데, 구글 앱엔진app engine에서 이미지가 안 뜨는 이유는?

A. 내 경우는 이미지 확장자 대소문자 때문이었다. 로컬에서 테스트할 때는 대소문자 구분 없이 잘 이미지가 나왔다. 이미지 경로에 파일 이름을 1.jpg로 적어도 1.JPG 파일을 잘 불러 왔다. 그래서 gcloud app deploy로 구글 앱엔진에 배포를 했더니 이미지가 뜨지 않았다. 원인이 무엇인가 이것저것 살펴보니 확장자 때문이었다. 파일 이름을 1.jpg로 소문자로 적은 경우 업로드한 파일 이름도 1.JPG가 아니라 1.jpg로 맞춰주니 정상 작동했다. 일관되게 소문자로 처리해야겠다.

Q. 파이썬Python PyQt5, Could not find the Qt platform plugin "cocoa" in "" 에러 원인은?

A. 에러 원인은 한글 폴더명이었다. 프로젝트명을 한글로 적었더니 저런 에러가 나타났다. qt.qpa.plugin: Could not find the Qt platform plugin "cocoa" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. 새로 프로젝트를 만들고, 프로젝트명(곧 폴더명)을 영어로 해서 다시 만들어서 실행하니 정상 작동했다. 다른 팩키지도 이런 문제가 있을까 싶어서 requests로 테스트하니 정상 작동했다. PyQt5 팩키지를 불러올 때 생기는 문제로 보인다.