본문 바로가기

파이썬23

6주차, 병렬처리, 프로세스, 쓰레드 프로세스란 하드디스크에 저장된 프로그램이 실행되고, 메모리가 할당된 것을 말한다. 정의는 프로세스 : 실행 중인 프로그램, 자원과 쓰레드로 구성 쓰레드 : 프로세스 내에서 실제 작업을 수행 예를 들면 프로세스는 작업장이고 쓰레드는 노동자다. 운영 중인 작업장이라면 노동자가 많을 수도 있고 한 명일수도 있다 파이썬은 인터프리터 언어로서 기본적으로 싱글 쓰레드에서 순차적으로 동작, 따라서 병렬처리를 위해선 별도의 모듈을 사용해서 수행해야 한다. 일단 주피터 노트북은 멀티 프로세싱이 잘 작동되는 환경이 아니다. 파이참이나 vs코드에서 하자 멀티 쓰레드를 구현해보면 from threading import Thread def work(work_id, start, end, result): total = 0 for .. 2022. 1. 28.
6주차, 직렬화(인코딩) pickle, json 직렬화란 객체를 연속적인 데이터로 변환하는 것, 그래서 이름이 직렬화(Serialize 시리즈라고 생각하면 됨) 객체를 컴퓨터에 저장하기 위해서는 직렬화가 필요 (클래스나 인스턴스 같은 개념이 많은데 컴퓨터는 0과 1밖에 못읽는다 그래서 컴퓨터가 알아듣는 바이트화 하는 게 직렬화) "띠이용".encode("utf-8") // bytes로 인코딩 "띠이용".encode("utf-8").decode() // 원래대로 파이썬에서 객체를 직렬화하는 모듈은 pickle이다. (import 해야됨) ・ pickle.dump(출력할 객체, 파일 객체) : 파일 객체에 출력할 객체를 저장 ・ with open('text.txt', 'wb') as f: pickle.dump([1, 2, 3, 4], f) // w가 아닌.. 2022. 1. 28.
6주차, 파일입출력, 인코딩, with open as, os.listdir open()함수는 엑셀이나 데이터베이스를 여는 함수다. close() 안해주면 메모리 계속 소비됨 매개변수는 첫번째, 파일의 경로 ("C://Users/Home/Documents/text.txt" 등) 두번째, 파일 열기 방식 (읽기, 쓰기 모드 등) 세번째, 인코딩 방식 두번째 매개변수를 정리해보면 'r': 읽기용 'w': 쓰기용 (이미 같은 경로에 파일이 존재하면 파일 내용을 지움) 'a': 쓰기용으로 열기, 근데 'w'랑 다르게 이미 같은 경로에 파일이 존재하면 내용 덧붙이기 'x': 배타적 생성모드, 파일이 이미 존재하면 예외를 일으킴 'rb': 바이트 어레이 일기 'wb': 바이트 어레이 쓰기 세번째 매개변수인 인코딩의 종류는 encoding="utf-8" 등의 형태로 씀 ASCII ・ 미국 정.. 2022. 1. 28.
6주차, 파이썬 클래스 활용 __call__은 객체를 메서드처럼 호출할 때 실행한다. class Call: def __call__(self, *a): print('올') for i in a: print(i) a = Call() a() // 올 a의 괄호안에 집어넣은 건 튜플로 저장되고, 저장한 건 전부 for문에 의해 프린트 된다. 2022. 1. 27.