memostack
article thumbnail
Python으로 XML-RPC 서버 구축
Language/Python 2021. 3. 26. 14:54

XML-RPC란? XML-RPC는 XML로 인코딩을 하는 RPC(Remote Procedure Call) 프로토콜의 종류 중 하나로, Server와 Client가 통신할때 사용한다. 이때, HTTP 프로토콜로 통신한다. XML-RPC를 사용하면, client에서 server의 프로그램을 마치 로컬에 있는 프로그램을 사용하듯이 원격 실행이 가능하다. 이후에는 좀 더 부가기능을 추가하여 SOAP 프로토콜이 개발되었지만, 단순하고 사용하기 쉬운 XML-RPC를 더 많이 사용하고 있다. (비슷한 프로토콜로는 JSON-RPC가 존재) XML-RPC XML 예시 XML-RPC Call examples.getStateName 40 XML-RPC Response South Dakota REST API vs XML-RP..

article thumbnail
파이썬(Python)의 특징 정리
Language/Python 2021. 1. 14. 08:07

파이썬의 특징 문법이 쉽고 간결하여, 비교적 쉽게 배울 수 있음 상대적으로 쉽다는 뜻으로 프로그래밍을 처음 접하는 사람한테는 어려울 수 도 있음 foo = 1 print(foo) # 1 foo = "Hello Python" print(foo) # Hello Python 다른 언어에 비해 개발속도가 상당히 빨라서, 나는 프로토 타입을 만들때 파이썬을 주로 사용한다 // Java로 Hello World 찍기 public class Main { public static void main(String[] args) { System.out.println("Hello, World"); } } # Python으로 Hello World 찍기 print("Hello, World"); 무료로 제공해주기 때문에 개발하는데 ..

article thumbnail
Python 문자와 문자열 다루기
Language/Python 2020. 11. 26. 21:46

문자와 문자열 파이썬에서는 문자와 문자열을 따로 구분하지 않는다. 문자와 문자열을 사용할 때는 홑 따옴표(') 또는 쌍 따옴표 (") 둘 다 사용 가능하다. 문자 위에서 말했듯이 문자와 문자열을 따로 구분하지 않지만, 굳이 문자를 표현하면 문자 한 글자를 따옴표로 감싼다 alphabet_a = 'a' print(alphabet_a) # a alphabet_b = "b" print(alphabet_b) # b print('c') # c print("d") # d 홑 따옴표(')와 쌍 따옴표(") 둘 다 사용 가능하다 문자열 여러 개의 문자를 따옴표로 감싼다. 마찬가지로 홑 따옴표(')와 쌍 따옴표(") 둘 다 사용 가능하다 greet = "Hello, Python!" print(greet) language..

article thumbnail
Python 사칙연산을 통한 실수형 데이터 다루기 (+, -, *, **, /, //)
Language/Python 2020. 11. 26. 21:45

더하기 연산 + num1과 num2라는 변수를 생성하여, 2개의 변수를 더한 값을 print() 함수로 출력한다 수학에서 사용하는 더하기(+)와 동일하다 num1 = 10 num2 = 6 print(num1 + num2) # 16 빼기 연산 - num1 = 10 num2 = 6 print(num1 - num2) # 4 곱하기 연산 * 프로그래밍에서는 곱하기를 x 기호 대신에 * 를 사용한다. 읽을때는 *를 '에스테르크'라고 읽음 num1 = 10 num2 = 6 print(num1 * num2) # 60 제곱 연산 (**) * 1개를 사용하면 단순히 곱하기 연산이지만, ** 2개를 사용하면 제곱(pow) 연산이된다. print(2 ** 4) # 16 2^4 = 2 * 2 * 2 * 2 = 16 나누기 연..

article thumbnail
Windows에 Python 3.7.9 설치하기
Language/Python 2020. 11. 26. 21:42

MacOSX에서 설치하려면 아래 글 참고해주세요 2020/11/26 - [Language/Python] - MacOS에 Python 3.7.9 버전으로 설치하기 MacOS에 Python 3.7.9 버전으로 설치하기 Python을 사용하려면 설치를 먼저 해야하기 때문에, 우선 설치부터 진행해본다. Python3 설치 파일 다운로드 파이썬을 설치하는 방법은 여러가지 방법이 있다. (본 글에서는 파이썬 공식 페이지에서 memostack.tistory.com 윈도우에서 Python 설치하기 아래 사이트에 접속 www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org .msi 인스톨..

article thumbnail
MacOS에 Python 3.7.9 버전으로 설치하기
Language/Python 2020. 11. 26. 21:41

Python을 사용하려면 설치를 먼저 해야하기 때문에, 우선 설치부터 진행해본다. 윈도우에서 파이썬을 설치하고 싶은 경우 아래글 참고해주세요. 2020/11/26 - [Language/Python] - Windows에 Python 3.7.9 설치하기 Windows에 Python 3.7.9 설치하기 MacOSX 에서 설치하려면 아래 글 참고해주세요 2020/11/26 - [Language/Python] - MacOS에 Python 3.7.9 버전으로 설치하기 MacOS에 Python 3.7.9 버전으로 설치하기 Python을 사용하려면 설치를 먼저 해야하기 때.. memostack.tistory.com Python3 설치 파일 다운로드 파이썬을 설치하는 방법은 여러가지 방법이 있다. (본 글에서는 파이썬 ..

article thumbnail
python으로 qrcode 생성기 만들기
Language/Python 2020. 8. 8. 13:41

모듈 다운로드 python 3.4버전 이상 pip install --upgrade pip pip install qrcode Pillow 설치 확인 hong@TaehongcBookPro ~ % python3 Python 3.7.7 (v3.7.7:d7c567b08f, Mar 10 2020, 02:56:16) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import qrcode 코딩 # -*- coding: utf-8 -*- import os import qrcode url = r"https://memostack.tistory.com/" img_form..

article thumbnail
Python3 문자열에서 특정 문자열 찾기
Language/Python 2020. 4. 12. 20:13

문자열 개수 찾기 문자열의 개수를 찾을 때는 str 의 count() 메소드를 이용한다. greet = "Hello, World!" print("`o` count:", greet.count("o")) print("`l` count:", greet.count("l")) `o` count: 2 `l` count: 3 문자열이 있는지 확인 str 의 find() 메소드를 이용한다. find() 메소드는 찾는 문자열이 있는 경우, 찾은 문자열의 첫번째 인덱스 값을 반환한다. 찾은 문자열이 여러개인 경우 첫번째 문자열의 첫번째 인덱스를 반환한다. 찾는 문자열이 없는 경우, -1 을 반환한다. greet = "Hello, Python" print(greet.find("Python")) # 찾은 문자열의 첫번째 인덱..

article thumbnail
파이썬 스레드(Thread) 특징과 GIL
Language/Python 2020. 4. 10. 15:12

파이썬의 정책에 의해 멀티 스레드 방식으로 프로그램을 구현하더라도, (번갈아가면서) 하나의 스레드만 실행하게된다. 그래서, 파이썬에서는 멀티 스레드를 통해 원하던 효과를 제대로 볼 수 없다. 아래 GIL에 의해서 하나의 스레드만 실행이 된다. GIL(Global Interpreter Lock)? 파이썬은 모든 자원을 하나의 스레드에서 컨트롤할 수 있게 글로벌 락(Global Lock)을 걸어둔다. GIL 은 하나의 스레드(Thread)에게 모든 자원(Resource)을 점유할 수 있게 해준다. (다른 스레드는 Acquire 할 수 없음) 그렇다고 스레드가 쓸모없는 것은 아니다. 하나의 스레드가 I/O 작업을 하는 동안은 다른 스레드가 점유할 수 있다. I/O 작업이 없는 프로그램이라면, 멀티 스레드 방식..

article thumbnail
파이썬 파일과 이미지 다루기(쓰기, 읽기, 추가하기)
Language/Python 2020. 4. 9. 20:57

1. 파일 다루기 파이썬에서는 파일을 다룰때, open() 메소드를 사용한다. 1.1. 파일 쓰기 파일을 쓸 때는 "w" (Write) 를 사용한다. (아래 코드 참고) dest = "/Users/taehongkim/Desktop/test.txt" try: f = open(dest, "w") # 파일을 쓸 때는 "w" 옵션을 사용한다. f.write("Hello, World!") # 파일의 내용 finally: f.close() # 작업이 끝나면 `close()` 를 통해 리소스를 해제해준다. close() 메소드를 통해 파일 리소스를 해제해준다. 파일을 작성하는 도중 오류가 발생할 가능성이 있기 때문에 try-finally 를 이용하여 close() 가 반드시 실행될 수 있도록 한다. 위 방법처럼 작성..

article thumbnail
파이썬의 정렬 알고리즘 sort(), sorted()
Language/Python 2020. 3. 25. 22:39

파이썬 정렬 메소드 파이썬에서는 정렬을 할때 sort() 와 sorted() 메소드를 사용한다. sort() sort() 메소드는 리스트를 오른차순으로 정렬해준다. >>> data = [3, 6, 12, 7, 10, 99, 23, 5, 9] >>> data.sort() >>> data [3, 5, 6, 7, 9, 10, 12, 23, 99] sorted() sorted() 메소드는 오름차순으로 정렬 후 새로운 리스트를 반환해준다. >>> data = [3, 6, 12, 7, 10, 99, 23, 5, 9] >>> sorted(data) [3, 5, 6, 7, 9, 10, 12, 23, 99] 파이썬에서는 어떤 정렬 알고리즘을 사용할까? 흔히 알고리즘을 배우면 아래 5가지 정렬 알고리즘을 배운다. 선택 정..

article thumbnail
zipfile 모듈로 압축하기
Language/Python 2020. 3. 10. 10:50

zipfile 모듈은 Python 3.3 이상부터 지원해준다. 파일 압축 본 예제에서는 디렉토리와 그 하위 모든 파일들을 압축하고 있다. src_path = r"압축하고 싶은 디렉토리 경로" base_path, dir_name = os.path.split(src_path) trg_zip_name = dir_name + ".zip" cur_path = os.getcwd() # 현재 디렉토리 경로 변경 os.chdir(base_path) try: with zipfile.ZipFile(trg_zip_name, "w", zipfile.ZIP_DEFLATED) as f: for base_dir, dirs, files in os.walk(src_path): for file in files: # 상대 경로를 구한다...