코딩 7

python :: 파이썬 zfill 로 문자열, 숫자 앞에 0 붙이기 (01, 002)

문자열이나 숫자 앞에 0을 붙여서 출력하고 싶을 때 (ex. 1 대신 '01', 2 대신 '002') 파이썬에서는 zfill 을 사용한다. # zfill(k) => 문자열 길이가 k가 될 때까지 0으로 채운다. "1".zfill(2) # "01" "2".zfill(3) # "002" 위와 같이 사용하면 되는데 여기서 중요한 점은 문자열(string) 에 사용한다는 점이다. 숫자 a는 str(a) 으로 문자열 변환 후 zfill 을 사용해야 한다. 숫자가 아닌 다른 문자열 앞에도 같은 방법으로 '0'을 붙일 수 있다. 위 내용을 활용하여 0~99 까지의 숫자를 00, 01, ..., 99 로 나타낸 리스트를 만들면 다음과 같다. aa = [str(i).zfill(2) for i in range(100)] ..

:: python 2021.06.30

python :: 파이썬 딕셔너리(dictionary) <-> json 변환하기, 딕셔너리 출력 포맷 '(홑따옴표) 대신 "(쌍따옴표) 로 나타내기

파이썬에서 REST api 요청 및 응답 처리를 위해 dictionary json 변환을 자주 한다. 이 때 json 라이브러리를 이용하면 간단히 변환할 수 있다. 1. json -> dictionary import json data = json.loads(json_data) # json_data: json 형식 데이터 2. dictionary -> json import json data = json.dumps(dic) # dic: dictionary 형식 data 2번의 경우 파이썬 딕셔너리의 포맷을 '(홑따옴표) 대신 "(쌍따옴표)로 변경할 때도 사용할 수 있다. import json dic = {'key1': 'value1', 'key2': 'value2'} print(json.dumps(dic))..

:: python 2021.06.29

python :: 파이썬 logging 활용하여 일단위 로그 파일 생성하기 (feat. 로깅이란)

개발을 하다 보면 에러가 자주 발생한다. (내가 짠 코드가 한 번에 잘 실행되면 불안할 정도..) 이 때, 에러의 원인을 찾기 위해 우리는 실시간으로 '로그'를 찍는다. (logging) 혹은 잘 돌고 있는지 확인하기 위해 찍기도 한다. 그런데 이 로그들을 파일로 기록해야 할 때가 있다. - 로그량이 너무 많아서 확인이 어려울 때 - 매 시간 로그를 들여다보기 어려울 때 (ex. 프로젝트가 운영 단계에 접어들어 24시간 내내 돌기 시작한 경우) 이럴 때 'logging' 을 이용하여 로그를 파일로 남겨 나중에 천천히 확인할 수 있다. 1. Logger 선언, 출력 형식 지정 import logging logger = logging.getLogger(__name__) logger.setLevel(loggi..

:: python 2021.06.28

python :: 파이썬 텍스트 파일 내 특정 단어 치환(replace)하기

파일 내 특정 단어를 다른 단어로 치환할 때 파이썬에서는 replace 를 사용한다. def replace_in_file(file_path, old_str, new_str): # 파일 읽어들이기 fr = open(file_path, 'r') lines = fr.readlines() fr.close() # old_str -> new_str 치환 fw = open(file_path, 'w') for line in lines: fw.write(line.replace(old_str, new_str)) fw.close() # 호출: file1.txt 파일에서 comma(,) 없애기 replace_in_file("C:\\test\\file1.txt", ",", "") ** 'r'(read) 모드로 파일을 읽어들인 ..

:: python 2021.06.23

python :: 파이썬 requests 로 REST API 호출하기

파이썬 requests 라이브러리를 사용하면 REST API를 호출하는 코드를 비교적 간단하게 작성할 수 있다. import requests import json def send_api(path, method): API_HOST = "http://www.example.com" url = API_HOST + path headers = {'Content-Type': 'application/json', 'charset': 'UTF-8', 'Accept': '*/*'} body = { "key1": "value1":, "key2": "value2" } try: if method == 'GET': response = requests.get(url, headers=headers) elif method == 'POS..

:: python 2021.06.21

python :: 파이썬 파일/폴더 복사 shutil copy, copy2, copyfile, copytree

파이썬 shutil 라이브러리에는 파일/폴더 복사와 관련된 여러 함수가 있다. copy, copy2, copyfile, copytree (copy2 라니.. 공식 라이브러리인데 너무 대충 만든거 아닌지ㅋㅋㅋ) 각각의 기능을 살펴보면 함수명 기능 사용방법 copy 파일을 복사한다 shutil.copy(src 파일 경로, dest 파일(or 폴더) 경로) * dest 에 폴더 경로를 지정할 경우 src 파일명과 같은 파일 생성 copy2 파일을 복사한다 shutil.copy2(src 파일 경로, dest 파일(or 폴더) 경로) * dest 에 폴더 경로를 지정할 경우 src 파일명과 같은 파일 생성 copyfile 파일을 복사한다 shutil.copyfile(src 파일 경로, dest 파일 경로) cop..

:: python 2021.06.16

python :: os.listdir과 os.walk (파이썬 특정 경로 내 디렉토리와 파일 검색)

다음과 같이 폴더와 파일을 생성해두었다. C:\test └ directory1 └ file4.txt └ file1.txt └ file2.txt └ file3.txt 1. os.listdir os.listdir(path) 특정 경로 내에 존재하는 폴더(디렉토리)와 파일 리스트를 검색 (1-depth) import os file_path = 'C:\\test' for file in os.listdir(file_path): print(file) 위와 같이 작성한 후 실행시키면 directory1 file1.txt file2.txt file3.txt 이렇게 출력된다. directory1 폴더 아래의 file4.txt 는 출력되지 않는다. 2. os.walk os.walk(path) 특정 경로 내에 존재하는 폴더..

:: python 2021.06.14
300x250