Dev/Python

    [python] text hash 값 구하기

    text hash 값 구하기 python의 hashlib를 이용하여 여러 hash 알고리즘(md5,sha1,sha224,sha256,sha384,sha512,...)에 매칭되는 hash 값을 얻을 수 있습니다. 아래에 hashlib를 이용하여 hash 값을 생성하는 예제코드를 작성해보았습니다. ※ hash 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다. (hash 함수로 얻어지는 값을 hash 값이라고 합니다.) 예제 코드 import hashlib HASH_NAME = "md5" # hash algorithm (md5,sha1,sha224,sha256,sha384,sha512) txt = input("Enter the text to convert: ") text = txt.e..

    [python] json에서 dictionary로 변환하는 방법

    json에서 dictionary로 변환하는 방법 파이썬에서 dictionary를 json를 변환하거나 json을 dictionary로 변환해야하는 경우가 있습니다. json 라이브러리의 loads와 dumps를 이용하여 dictionary와 json간의 변환이 가능합니다. 아래에 dictionary와 json간의 변환에 대한 예제 코드를 작성하였습니다. ※ json은 키-값 쌍으로 이루어진 데이터를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷 ※ dictionary는 파이썬의 자료형 중 하나로 키-값으로 연결되어있는 순서가 없는 집합 자료형 예시 코드 import json json_data = '{ "p1": { "name": "chulsu", "age": 20 }, "p2":..

    [python] REST API 호출

    REST API 호출 파이썬의 requests, urllib 모듈을 사용하여 REST API 호출하는 방법을 정리하였습니다. ※ requests는 Apache License 2.0의 라이센스를 가진 python HTTP 라이브러리 (requests 공식문서) ※ urllib는 URL 작업을 위한 여러 기능을 가지고 있는 python 라이브러리 (urllib 공식문서) 1. requests 이용 예시 import requests import json # GET res = requests.get('http://127.0.0.1:5000') print(str(res.status_code) + " | " + res.text) # POST (JSON) headers = {'Content-Type': 'applic..

    [python] Shell 명령어 실행법

    Shell 명령어 실행법 Python에서 Shell 명령어를 실행하고 싶을 때가 있습니다. 파이썬의 subprocess를 활용하여 shell 명령어 실행하는 예제코드를 작성해보았습니다. ※ subprocess는 새로운 프로세스를 생성하여 input/output/error pipes와 연결을 제공하는 파이썬의 모듈 Shell 명령어 실행 예제코드 run_shell_cmd 함수의 인자로 쉘 명령어를 보내어 결과 값을 출력하는 예제입니다. "echo test!!"라는 명령어를 입력하였을 때 "test!!"라는 결과 값을 나오는 것을 확인할 수 있습니다. import subprocess def run_shell_cmd(cmd): cmd_list = cmd.split(' ') try: sp = subprocess..

    [python] flask 파일 업로드

    flask 파일 업로드 flask를 이용하여 서버에 파일을 업로드 하는 방법입니다. upload_main()은 파일 업로드를 위한 html를 렌더링합니다. upload_files()은 서버에 파일을 업로드하는 역할을 합니다. 사용자가 서버의 파일시스템이 있는 파일을 수정하는 것을 방지하기 위해 secure_filename()를 사용합니다. import os from flask import Flask, request from werkzeug.utils import secure_filename UPLOAD_DIR = "D:/" app = Flask(__name__) app.config['UPLOAD_DIR'] = UPLOAD_DIR @app.route('/') def upload_main(): return ..

    [python] scp를 이용한 파일전송

    scp를 이용한 파일전송 python의 paramiko와 scp라이브러리를 사용하여 파일전송이 가능합니다. 라이브러리 설치 scp 전송을 위해 사용될 paramiko, scp 라이브러리를 설치합니다. pip install paramiko pip install scp SSHManger 클래스 SSH 연결 및 종료, scp 전송 및 다운로드 등의 기능을 포함한 SSHManager 클래스를 생성합니다. create_ssh_client: SSH 세션 생성 close_ssh_client: SSH 세션 종료 send_file: scp를 이용한 파일 전송 get_file: scp를 이용한 파일 다운로드 send_command: remote 서버에서 명령어 실행 import paramiko from scp import..

    [python] file의 md5 checksum 구하는 방법

    python에서 file의 md5 checksum 구하는 방법 파일을 전송, 다운로드할 때 파일의 무결성을 확인해야 하는 경우가 생긴다. python으로 file의 md5 checksum을 구하는 방법을 정리해보았다. 1) python 라이브러리 설치 file의 md5 checksum을 구하기 위해 hashlib를 사용한다. hashlib가 없는 경우, pip를 이용하여 다운로드받는다. pip install hashlib 2) 코드작성 아래의 코드를 작성하여 calc_file_hash.py 로 저장한다. (/path/to/file에 md5를 계산할 파일경로를 넣어준다.) import hashlib def calc_file_hash(path): f = open(path, 'rb') data = f.read..

    [python] wget 사용하는 방법

    Python wget 사용법 Python에서 wget을 사용하는 방법입니다. 1) wget 라이브러리 설치 먼저 wget을 사용하기 위해 python wget 라이브러리를 설치합니다. pip install wget 2) wget으로 다운로드 wget를 import하고 wget.download를 사용하여 다운로드 받을 수 있습니다. import wget url = "https://github.com/minyong-jeong/minyong-jeong.github.io/raw/master/images/ryan.jpg" wget.download(url) 3) bar 디자인 변경 및 다운로드 위치 변경 bar_custom 함수를 만들어 wget.download의 bar변수에 할당하면 wget의 bar 디자인을 변..

    Python 자료형 - 6. 집합 (Set)

    집합 (Set) 집합은 정렬되지 않은 객체의 묶음이다. 흔히 아는 집합과 마찬가지로 중복을 허용하지 않고 순서가 없는 특징을 가진다. 집합은 순서가 없는 자료형이기 때문에 인덱싱도 지원하지 않는다. 1) 집합 선언 집합 자료형은 set키워드를 사용하여 선언할 수 있다. 아래의 예제를 보면 순서를 가지지 않는 것을 확인할 수 있다. ※ 중복을 허용하지 않는 set의 특징때문에 자료형의 중복을 제거하기 위한 필터 역할로 사용된다. >>> s2 = set("Python") >>> s2 {'h', 'o', 'y', 't', 'n', 'P'} 2) 집합 자료형의 활용 (교집합, 합집합, 차집합) 활용을 위해 위와 같이 선언을 하였다. >>> s1 = set([1, 3, 5, 7, 9]) >>> s2 = set([..

    Python 자료형 - 5. 딕셔너리 (Dictionary)

    딕셔너리 (Dictionary) 딕셔너리는 대응관계를 가지는 자료형이다. 전화번호부를 예로 들 수 있는데 누군가의 이름을 찾으면 그 이름에 대응되는 전화번호를 찾을 수 있는 것과 같다. 여기서 이름은 딕셔너리의 key가 되고, 전화번호는 value가 된다. 1) 딕셔너리의 선언 >>> dic = { ... 'name':'kildong', ... 'email':'python@python.com', ... 'phone':'010-0000-0000' ... } >>> dic {'name': 'kildong', 'email': 'python@python.com', 'phone': '010-0000-0000'} 각각의 key에 대응하는 value값을 가진다. 여기서 key인 'name'에 대응하는 value는 '..