Python

·Python
목차 s[i:j:k] (특정 인덱스부터 특정 인덱스까지 특정 간격으로 가져오기 예제) len(s) (리스트 크기 확인 예제) min(s) (가장 작은 값 가져오기 예제) max(s) (가장 큰 값 가져오기 예제) s.count(x) (특정 값 개수 확인 예제) 1. s[i:j:k] (특정 인덱스부터 특정 인덱스까지 특정 간격으로 가져오기 예제) s[i:j:k]를 사용하여 리스트의 특정 범위에 있는 값을 특정 간격으로 가져오는 예제를 살펴보겠습니다. # 리스트 선언 numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 특정 인덱스부터 특정 인덱스까지 특정 간격으로 가져오기 subset = numbers[1:8:2] print(subset) # [1, 3, 5, 7] 출력 위 예제에서..
·Python
목차 x in s (값이 있는지 확인 예제) x not in s (값이 없는지 확인 예제) s + t (리스트 병합 예제) s[i] (인덱스로 값 가져오기 예제) s[i:j] (특정 인덱스부터 특정 인덱스까지 가져오기 예제) 1. x in s (값이 있는지 확인 예제) in 키워드를 사용하여 리스트에 특정 값이 있는지 확인하는 예제를 살펴보겠습니다. # 리스트 선언 fruits = ['apple', 'banana', 'orange'] # 값이 있는지 확인 if 'apple' in fruits: print("리스트에 apple이 있습니다.") else: print("리스트에 apple이 없습니다.") 위 예제에서는 'apple'이 fruits 리스트에 포함되어 있는지를 확인하고 있으면 해당 문장을 출력합니..
·Python/os
목차 os.path.exists() 함수 소개 및 인자 설명 파일 존재 확인 예제 디렉토리 존재 확인 예제 파일 또는 디렉토리 존재 여부에 따른 처리 방법 예제(isfile, isdir 활용) 파일 존재 확인과 파일 접근 권한 확인 예제(os.access 활용) 1. os.path.exists() 함수 소개 및 인자 설명 os.path.exists() 함수는 주어진 경로가 파일 또는 디렉토리에 존재하는지 확인하는 파이썬의 내장 함수입니다. 이 함수는 인자로 주어진 경로가 파일 또는 디렉토리의 실제 존재 여부를 확인하며, 해당 경로가 실제로 존재하면 True를 반환하고 존재하지 않으면 False를 반환합니다. 존재 여부를 확인할 때 절대 경로나 상대 경로 모두 사용할 수 있습니다. 2. 파일 존재 확인 예..
·Python
목차 하드 링크와의 차이점 설명 심볼릭 링크의 활용 예제 - 프로젝트 구조 관리 심볼릭 링크의 활용 예제 - 버전 관리 심볼릭 링크의 활용 예제 - 파일 공유 주의사항과 보안 고려사항 1. 하드 링크와의 차이점 설명 하드 링크와 심볼릭 링크는 모두 파일 시스템에서 파일을 가리키는 링크이지만, 동작 방식과 특징에서 차이가 있습니다. 하드 링크 원본 파일과 동일한 inode를 가리키는 링크 원본 파일과 동일한 내용을 가진 별도의 파일 원본 파일이 삭제되더라도 링크 파일은 유효 파일 크기와 수정 시간 등 원본 파일의 속성을 그대로 가짐 하나의 파일에 여러 개의 하드 링크 생성 가능 심볼릭 링크 원본 파일의 경로를 가리키는 링크 원본 파일이 삭제되면 심볼릭 링크는 무효 파일 크기와 수정 시간 등 심볼릭 링크의 ..
·Python
목차 심볼릭 링크란? os.symlink() 함수 소개 및 인자 설명 심볼릭 링크 생성 예제 심볼릭 링크 확인 및 정보 조회 예제 심볼릭 링크 삭제 예제 1. 심볼릭 링크란? 심볼릭 링크란 파일 시스템에서 파일이나 디렉토리를 가리키는 링크로, 원본 파일의 경로를 가리키고 있습니다. 원본 파일이나 디렉토리를 가리키는 이름이기 때문에 원본 파일이나 디렉토리와 다른 이름을 가지며 원본 파일이나 디렉토리가 삭제되어도 심볼릭 링크는 유효합니다. 심볼릭 링크는 윈도우에서 바로 가기(shortcut)와 유사한 개념입니다. 2. os.symlink() 함수 소개 및 인자 설명 os.symlink() 함수는 파이썬의 os 모듈에 있는 함수로, 심볼릭 링크를 생성하는데 사용됩니다. 해당 함수의 형식은 다음과 같습니다. o..
·Python
목차 Global Interpreter Lock(GIL) 이해 멀티스레딩 vs. 멀티프로세싱 장단점 설명 스레드 간 Lock 동기화 예제 데드락과 교착 상태 설명 스레드 안전성과 주의사항 1. Global Interpreter Lock(GIL) 이해 파이썬 인터프리터는 GIL이라는 Global Interpreter Lock을 가지고 있습니다. 이로 인해 파이썬에서는 여러 스레드가 동시에 실행되는 것처럼 보이지만 실제로는 하나의 스레드만 한 번에 실행됩니다. 따라서 파이썬 스레드는 CPU-bound 작업보다는 I/O-bound 작업에 더 적합합니다. 2. 멀티스레딩 vs. 멀티프로세싱 장단점 설명 파이썬에서 스레드를 활용할 때 멀티스레딩과 멀티프로세싱을 고려해야 합니다. 멀티스레딩은 하나의 프로세스 내에서..
·Python
목차 스레드란? 파이썬에서 스레드 사용하기 위한 모듈 설명 스레드 생성 예제 스레드 활용 예제 - 동시에 HTTP Request 요청하기 스레드 활용 예제 - 병렬 처리 1. 스레드란? 스레드(thread)는 프로세스의 실행 단위로, 하나의 프로세스는 여러 개의 스레드를 가질 수 있습니다. 각 스레드는 독립적으로 실행되는 흐름을 가지며, 멀티스레드 환경에서 여러 작업을 동시에 처리할 수 있습니다. 스레드는 프로세스 내의 자원을 공유하므로 효율적으로 작업을 수행할 수 있습니다. 2. 파이썬에서 스레드 사용하기 위한 모듈 설명 파이썬에서 스레드를 사용하기 위해 기본적으로 제공되는 모듈은 threading입니다. 이 모듈은 스레드 생성, 동기화, 락(lock), 조건 변수 등 스레드 관련 기능을 제공합니다. ..
·Python
목차 Keep-Alive의 개념과 장점 설명 HTTPS의 중요성과 동작 방식 설명 파이썬으로 안전한 HTTPS 통신 설정하는 방법 RESTful API 개념 설명 파이썬으로 RESTful API와 통신하는 예제 1. Keep-Alive의 개념과 장점 설명 HTTP Keep-Alive는 한 번의 TCP 연결로 여러 개의 요청과 응답을 처리하는 기능입니다. 기본적으로 HTTP는 요청마다 새로운 TCP 연결을 생성하여 데이터를 주고 받습니다. 하지만 Keep-Alive를 사용하면 연결을 유지한 채 여러 번의 요청과 응답을 처리하여 네트워크 부하를 줄이고 속도를 개선할 수 있습니다. 2. HTTPS의 중요성과 동작 방식 설명 HTTPS는 HTTP의 보안 버전으로 데이터의 암호화와 웹 사이트의 인증을 제공합니다...
·Python
목차 HTTP 헤더의 역할과 중요성 파이썬에서 HTTP 헤더를 수정하는 예제 HTTP 기본 인증과 다이제스트 인증 예제 HTTP를 이용한 파일 업로드 방법 설명 HTTP 오류 코드의 종류 1. HTTP 헤더의 역할과 중요성 HTTP 헤더는 클라이언트와 서버가 요청과 응답에 대한 정보를 전달하는데 사용되는 부가적인 메타데이터입니다. 헤더에는 요청 방식, 컨텐츠 타입, 인증 정보, 캐시 관련 정보 등 다양한 정보가 포함될 수 있습니다. HTTP 헤더는 요청과 응답의 처리와 해석에 중요한 역할을 합니다. 2. 파이썬에서 HTTP 헤더를 수정하는 예제 파이썬을 사용하여 HTTP 헤더를 수정하는 예제입니다. 헤더를 수정하여 요청과 응답에 원하는 정보를 추가하거나 변경할 수 있습니다. import http.clie..
·Python
목차 HTTP 모듈이란? HTTP GET 요청 방법과 기본 구조 설명 HTTP POST 요청 방법과 기본 구조 설명 쿠키와 세션 관리 예제 1. HTTP 모듈이란? HTTP 모듈은 파이썬에서 HTTP 통신을 위한 기본 모듈입니다. 이 모듈을 사용하여 웹 서버와 클라이언트 사이의 데이터 통신을 수행할 수 있습니다. HTTP 모듈은 파이썬 표준 라이브러리에 내장되어 있으므로 별도의 설치 없이 사용할 수 있습니다. HTTP 모듈의 주요 기능 HTTP GET, POST 등의 요청 보내기 응답 데이터 받기 쿠키와 세션 관리 인증과 보안 설정 다양한 HTTP 헤더 사용 2. HTTP GET 요청 방법과 기본 구조 설명 HTTP GET 요청은 웹 서버로부터 정보를 요청할 때 사용되는 방식입니다. 요청 정보는 URL에..
·Python
목차 yaml 다국어 파일 생성 예제 언어변환 함수 작성 예제 언어변환 테스트 예제 YAML 파일 관리와 업데이트 다국어 지원 확장과 고급 기능 1. yaml 다국어 파일 생성 예제 언어변환을 위한 기본 언어 파일을 생성하는 예제입니다. 아래는 한글과 영문 두 언어의 언어 파일을 생성합니다. import yaml data = { 'en': {'greeting': 'Hello, world!'}, 'ko': {'greeting': '안녕, 세계!'} } with open('/tmp/language2.yaml', 'w') as file: yaml.dump(data, file) 2. 언어 변환 함수 작성 예제 다국어 파일에서 원하는 언어로 텍스트를 변환하는 함수를 작성하는 예제입니다. greeting 이라는 단..
·Python
목차 YAML이란? YAML 문법 소개 Python에서 YAML 사용하기 언어변환을 위한 YAML 파일 구조 설계 기본 언어 파일 생성 예제 1. YAML이란? YAML은 "YAML Ain't Markup Language"의 약자로, 데이터를 표현하는데 사용되는 가벼운 형식의 언어입니다. 사람이 쉽게 읽고 쓸 수 있으며, 다양한 프로그래밍 언어에서 사용할 수 있는 데이터 직렬화 형식입니다. 주로 설정 파일이나 데이터 구조를 저장하는데 자주 사용됩니다. 2. YAML 문법 소개 YAML 문법은 들여쓰기를 통해 데이터의 계층 구조를 표현하며, 콜론(:)과 대시(-), 배열([]) 등을 사용하여 데이터를 표현합니다. 들여쓰기로 계층 구조 표현(/tmp/data.yaml) fruits: [apple, banan..
·Python
이전포스팅 우리는 이전 포스팅에서 tarfile 모듈을 사용하여 기존 존재하던 tar파일을 압축해제 하는 방법에 대해 알아보았습니다. 2023.07.21 - [Python] - [Python] tarfile 모듈을 활용한 tar 압축, 해제 및 파일 목록 확인하기 - 1 [Python] tarfile 모듈을 활용한 tar 압축, 해제 및 파일 목록 확인하기 - 1 오늘은 Python에서 제공되는 모듈 중 tarfile 모듈을 사용하여 컴퓨터에 있는 tar 파일의 압축, 해제 등을 해보도록 하겠습니다. 먼저 tar이 어떤 파일 형식인지 알아야 다음 예제를 더 쉽게 이해할 수 salguworld.tistory.com 또한, 새로운 압축 파일을 만들고 그 안에 새롭게 파일들을 추가하는 예제도 확인하였습니다. ..
·Python
목차 로그 회전 설정 다양한 로그 핸들러 활용(로그 기록 SMTP 서버 전송) 로깅 메시지 필터링 예외 처리 로깅 로깅 설정 파일 사용 1. 로그 회전 설정 로그 회전은 로그 파일의 크기나 날짜에 따라 로그 파일을 관리하는 방법입니다. 로그가 증가하여 파일 크기가 너무 커지는 것을 방지하고, 오래된 로그를 정리하는 데 사용됩니다. import logging from logging.handlers import RotatingFileHandler logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') #로그 파일 생성 (1MB 크기로 로그 파일 3개까지 보관) file_handler = Rotatin..
·Python
목차 logging 모듈이란? 로깅 레벨 설정 로깅 메시지 출력 예제 로깅 메시지 날짜 포맷 설정 예제 파일로 로그 저장하기 예제 1. logging 모듈이란? logging 모듈은 파이썬에서 로깅 기능을 제공하는 표준 라이브러리입니다. 이를 사용하여 프로그램 실행 중에 발생하는 정보, 경고, 오류 등의 로그를 생성하고 관리할 수 있습니다. 로그는 프로그램의 동작 상태를 추적하고, 디버깅하거나 문제를 파악하는 데 유용합니다. 2. 로깅 레벨 설정 예제 로그 레벨은 로그의 중요도에 따라 다양한 단계로 구분되며, 원하는 로그 레벨을 설정하여 해당 레벨 이상의 로그만 출력하도록 할 수 있습니다. import logging logging.basicConfig(level=logging.INFO) 3. 로깅 메시지..
·Python
목차 표준 에러 처리 예제 프로세스 상태 및 종료 코드 확인 예제 백그라운드 프로세스 실행 예제 외부 명령어 실행의 보안 고려사항 1. 표준 에러 처리 예제 subprocess를 사용하여 외부 프로세스 실행 시 표준 에러를 처리하는 방법을 보여주는 예제입니다. import subprocess command = "ls /invalid_directory" # 존재하지 않는 디렉토리를 ls 명령어로 실행 result = subprocess.run(command, shell=True, text=True, stderr=subprocess.PIPE) if result.returncode == 0: print(result.stdout) else: print(f"Error: {result.stderr}") 위처럼 존재..
·Python
목차 subprocess 모듈이란? 외부 프로세스 실행 예제 실행 결과 출력 예제 명령어 인자 전달 예제 stdin(표준 입력)에 입력 전달 예제 1. subprocess 모듈이란? subprocess 모듈은 파이썬에서 외부 프로세스를 실행하고 상호작용하는 데 사용되는 표준 라이브러리입니다. 이 모듈을 통해 쉘 명령을 실행하고 결과를 얻을 수 있으며, 다른 프로세스와 표준 입출력 스트림을 통해 통신할 수 있습니다. 2. 외부 프로세스 실행 예제 외부 프로세스를 실행하는 가장 기본적인 예제입니다. 'ls /tmp' 명령어를 실행하여 tmp 디렉토리의 파일 목록을 출력합니다. import subprocess command = "ls /tmp" result = subprocess.run(command, she..
·Python
목차 해시 객체 초기화와 업데이트 예제 해시 값 비교 예제 솔트(Salt)와 sha256 해시 예제 해시 값을 활용한 데이터 무결성 검증 예제 해시 보안 적용과 주의사항 1. 해시 객체 초기화와 업데이트 예제 hashlib 모듈의 해시 함수를 사용하기 위해 해시 객체를 초기화해야 합니다. hashlib 모듈은 다양한 해시 알고리즘을 지원하며, 이를 위해 해시 객체를 초기화할 때 사용할 알고리즘을 선택합니다. 해시 객체를 초기화한 후에는 데이터를 업데이트하여 해시 값을 계산할 수 있습니다. 다음은 해시 객체 초기화와 업데이트하는 예제입니다. import hashlib #해시 객체 초기화 hash_obj = hashlib.sha256() #데이터 업데이트 data1 = "Hello" data2 = " has..
·Python
목차 hashlib 모듈이란? 해시 함수란? hashlib의 주요 해시 알고리즘 목록 및 설명 문자열 해싱 예제 파일 해싱 예제 1. hashlib 모듈이란? hashlib 모듈은 Python 내장 모듈로서 해시 함수를 제공하는 라이브러리입니다. 해시 함수를 사용하여 데이터를 고정된 길이의 고유한 해시 값으로 변환합니다. 이러한 해시 값은 원본 데이터를 대체하여 사용하며, 데이터 무결성 검사, 암호화, 비밀번호 저장 등에 활용됩니다. hashlib 모듈은 Python 2.5 버전부터 기본으로 포함되어 있으며, 간단하고 안전한 해시 기능을 제공합니다. 2. 해시 함수란? 해시 함수는 임의의 길이의 데이터를 고정된 길이의 해시 값으로 변환하는 함수입니다. 이때, 입력 데이터의 크기가 달라도 항상 동일한 길이..
·Python
오늘은 Python에서 제공되는 모듈 중 tarfile 모듈을 사용하여 컴퓨터에 있는 tar 파일의 압축, 해제 등을 해보도록 하겠습니다. 먼저 tar이 어떤 파일 형식인지 알아야 다음 예제를 더 쉽게 이해할 수 있습니다. 압축이라 함은 아주 많은 파일들을 하나로 묶어 데이터 크기를 줄이는 행위를 의미합니다. 반대로 압축해제는 이러한 압축된 파일을 다시 풀어헤쳐 원래의 파일들을 확인할 수 있도록 하는 것이 목표입니다. 우리는 이런 대표적인 예제를 넘어서 tar 파일로 다양한 예제를 수행해 보도록 하겠습니다. 자, 그러면 tar 파일이 어떤 파일인지 먼저 알아보겠습니다. tar 파일이란? tar 파일은 여러 개의 파일과 디렉터리를 하나의 파일로 압축하여 저장하는 형식입니다. 이러한 압축 파일은 일반적으로...
·Python/datetime
오늘은 Python의 datetime 모듈에서 제공하는 time 클래스에 대해 자세히 알아보겠습니다. time 클래스는 시간 정보를 처리하는 데 유용한 기능을 제공하며, 현재 시간을 가져오고 변환하는 등의 작업에 활용됩니다. 아래에서는 time 클래스의 사용 사례, 멤버 설명, 시, 분, 초 출력 예제, unix 타임스탬프로의 변환 예제, timedelta 객체로의 변환 예제, 그리고 strftime을 이용한 날짜 형식 변환 예제에 대해 알아보겠습니다. time 클래스 사용 사례 datetime.time 클래스는 기존 timedelta와 같이 시간 값을 처리할 때 사용합니다. 대표적인 예로 현재 시간을 알 수 있으며 이 시간 값을 시, 분, 초 단위 값으로 나눠서 처리할 수도 있도록 도와줍니다. 따라서 ..
·Python/datetime
Python의 datetime 모듈은 날짜와 시간을 처리하는 데 유용한 기능을 제공합니다. strftime 메서드는 이러한 기능 중에서도 특히 날짜와 시간을 원하는 형식으로 변환하는 데 사용됩니다. 오늘은 strftime의 사용 사례, 포맷 종류, 타임스탬프 구하기 예제, 날짜 포맷으로의 변환 예제, 영문 날짜로의 변환 예제에 대해 자세히 알아보겠습니다. strftime 사용 사례 strftime 메서드는 datetime 객체에서 문자열로 날짜와 시간을 변환하는 데 사용됩니다. 예를 들어, 다음과 같은 사례에서 활용할 수 있습니다. 1. 날짜와 시간 정보를 로그 파일 이름으로 사용 2. 사용자에게 보기 좋은 형식으로 날짜와 시간을 표시 3. 날짜와 시간 정보를 데이터베이스에 저장하기 전에 포맷팅 수행 등..
·Python/datetime
오늘은 이전 timedelta 사용 방법 예제 포스팅과 더불어 더 다양한 예제를 알아보도록 하겠습니다. 반복 주기 생성하기 예제 timedelta를 사용하여 오늘 날짜로부터 정해진 기간마다의 반복 주기를 계산할 수도 있습니다. 예를 들어, 매주 화요일에 이벤트가 발생하는 경우, 다음 화요일의 날짜를 계산하는 예제 코드는 다음과 같습니다 from datetime import datetime, timedelta now_date = datetime.now() while now_date.weekday() != 1: # 1은 화요일을 가리키는 값 now_date += timedelta(days=1) next_tuesday = now_date print("next 화요일 :", next_tuesday) 위의 예제에..
·Python/datetime
timedelta를 사용하는 이유 안녕하세요 오늘은 datetime 모듈에 포함되어 있는 timedelta 사용법에 대해 알아보도록 하겠습니다. 이 함수는 정해진 날짜와 날짜 사이 혹은 시간간의 차이를 계산해 주는 클래스입니다. 우리가 프로그래밍을 하다보면 항상 현재 시간으로부터 떨어진 시간을 계산한다던지? 아니면 미래의 시간으로부터 현재 시간이 얼마나 차이가 있는지 등등 다양한 필요 사항이 생기게 됩니다. 바로 timedelta는 이러한 상황에서 손쉽게 처리할 수 있도록 도와줍니다. 예를 들어, 날짜와 시간 간의 연산, 특정 날짜와의 차이 계산, 시간 간격 측정 등을 수행할 수 있습니다. 날짜와 시간의 덧셈과 뺄셈 예제 특정 날짜와 시간을 더하거나 빼는 예제를 한번 알아보도록 하겠습니다. 우선 time..
·Python/os
파이썬에서 파일 삭제 작업은 프로그래밍에서 자주 수행되는 작업 중 하나입니다. 파일 삭제는 필요 없는 파일을 정리하거나, 프로그램에서 생성한 임시 파일을 제거하는 등 다양한 상황에서 필요합니다. 이번 글에서는 파일 삭제에 대한 다양한 측면을 다루며, 파이썬에서 파일 삭제를 수행하는 방법과 관련된 주제들을 다루어보겠습니다. Python에서 일반적인 파일 삭제 방법 파이썬에서 파일을 삭제하는 방법은 다양합니다. 가장 일반적인 방법은 os.remove() 함수를 사용하는 것입니다. os.remove() 함수는 인자로 전달된 파일 경로에 해당하는 파일을 삭제합니다. 예를 들어, 다음과 같이 사용할 수 있습니다 Python에서 파일이 존재하는지 확인하고 파일 삭제 파이썬에서 파일 삭제는 간단한 작업이지만, 삭제할..
살구엉덩이
'Python' 카테고리의 글 목록 (12 Page)