반응형

목차

  • PART1
    1. math 모듈
    2. math 함수에 from, as 구문 함께 사용하기
    3. random 모듈
    4. sys 모듈
    5. os 모듈
  • PART2
    1. datetime 모듈
    2. time 모듈
    3. urllib 모듈
    4. urlopen 함수
    5. operator.itemgetter 함수

datetime 모듈

Python의 날짜/시간 모듈은 날짜와 시간 작업에 사용됩니다. 날짜, 시간 및 간격을 조작하기 위한 클래스를 제공합니다. 다음은 날짜/시간 모듈에 대한 개요입니다:

1. 날짜/시간 모듈을 가져옵니다.
날짜/시간 모듈을 사용하려면 먼저 모듈을 임포트해야 합니다:

import datetime


2. 날짜/시간 모듈의 일반적인 용도


  1) 현재 날짜와 시간 가져오기

datetime.datetime.now() 함수를 사용하여 현재 날짜와 시간을 가져올 수 있습니다.

import datetime

# 현재 날짜 및 시간 가져오기
current_datetime = datetime.datetime.now()
print(current_datetime)


  2) 사용자 정의 날짜 생성

datetime.date 클래스를 사용하여 사용자 정의 날짜를 만들 수 있습니다.

import datetime

# 사용자 정의 날짜 만들기
custom_date = datetime.date(2023, 5, 2)
print(custom_date)


  3) 사용자 정의 시간 생성

datetime.time 클래스를 사용하여 사용자 정의 시간을 만들 수 있습니다.

import datetime

# 사용자 정의 시간 만들기
custom_time = datetime.time(12, 30, 45)
print(custom_time)


  4) 사용자 정의 날짜/시간 생성

datetime.datetime 클래스를 사용하여 사용자 정의 날짜/시간을 만들 수 있습니다.

import datetime

# 사용자 정의 날짜 시간 만들기
custom_datetime = datetime.datetime(2023, 5, 2, 12, 30, 45)
print(custom_datetime)


  5) 날짜와 시간으로 산술 수행

datetime.timedelta 클래스를 사용하여 날짜 및 시간으로 산술을 수행할 수 있습니다.

import datetime

# 현재 날짜 및 시간 가져오기
current_datetime = datetime.datetime.now()

# 현재 날짜와 시간에 하루를 추가합니다.
one_day = datetime.timedelta(days=1)
tomorrow = current_datetime + one_day
print(tomorrow)

# 현재 날짜와 시간에서 하루를 뺍니다.
yesterday = current_datetime - one_day
print(yesterday)


  6) 날짜와 시간 서식을 지정합니다:

strftime() 메서드를 사용하여 날짜와 시간을 문자열로 서식을 지정할 수 있습니다.

import datetime

# 현재 날짜 및 시간 가져오기
current_datetime = datetime.datetime.now()

# 날짜와 시간을 문자열로 포맷
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_datetime)

time 모듈

파이썬의 시간 모듈은 시간 관련 함수로 작업하는 데 사용됩니다. 현재 시간 가져오기, 코드 실행 지연, 시간 서식 지정 등 시간 관련 작업을 위한 다양한 함수를 제공합니다.

1. 시간 모듈을 가져옵니다.
시간 모듈을 사용하려면 먼저 시간 모듈을 가져와야 합니다.

import time


2. 시간 모듈의 일반적인 용도


  1) 현재 시간을 가져옵니다.

time.time() 함수를 사용하여 에포크(1970년 1월 1일, 00:00:00 UTC) 이후의 현재 시간(초)을 가져올 수 있습니다.

import time

# 에포크 이후 현재 시간(초)을 가져옵니다.
current_time = time.time()
print(current_time)


  2) 코드 실행 지연

time.sleep() 함수를 사용하여 지정된 시간(초) 동안 코드 실행을 일시 중지할 수 있습니다.

import time

# 5초 동안 코드 실행을 지연합니다.
print("Start")
time.sleep(5)
print("End")


  3) 다른 시간 표현 사이를 변환

시간 모듈은 time.gmtime(), time.localtime(), time.mktime()과 같이 서로 다른 시간 표현을 변환하는 함수를 제공합니다.

import time

# 에포크 이후 초를 UTC의 구조시간으로 변환합니다.
utc_time = time.gmtime()
print(utc_time)

# 에포크 이후 초를 현지 시간대의 struct_time으로 변환합니다.
local_time = time.localtime()
print(local_time)

# 구조 시간을 에포크 이후 초로 변환합니다.
seconds_since_epoch = time.mktime(local_time)
print(seconds_since_epoch)


  4) 시간 포맷

time.strftime() 함수를 사용하여 시간을 문자열로 포맷할 수 있습니다.

import time

# 현지 시간대의 현재 시간을 가져옵니다.
local_time = time.localtime()

# 시간을 문자열로 포맷
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(formatted_time)


  5) 시간을 구문 분석

time.strptime() 함수를 사용하여 시간 문자열을 struct_time으로 구문 분석할 수 있습니다.

import time

# 시간 문자열을 구조체_시간으로 파싱합니다.
time_string = "2023-05-02 12:30:45"
time_format = "%Y-%m-%d %H:%M:%S"
parsed_time = time.strptime(time_string, time_format)
print(parsed_time)

urllib 모듈

Python의 urllib 모듈은 URL 작업을 위한 모듈 모음을 제공하는 패키지입니다. URL을 열고, 읽고, 구문 분석할 뿐만 아니라 HTTP 요청을 전송하고 웹 서비스와 상호 작용하는 데 도움이 됩니다. urllib 패키지에는 urllib.request, urllib.parse, urllib.error 및 urllib.robotparser를 비롯한 여러 모듈이 포함되어 있습니다.

다음은 urllib 패키지와 그 모듈에 대한 사용 방법입니다.

1. urllib.request
이 모듈은 URL을 열고 읽는 함수를 제공합니다. HTTP, HTTPS, FTP 등과 같은 다양한 프로토콜을 처리할 수 있습니다. 다음은 urllib.request를 사용하여 URL을 열고 그 내용을 읽는 예제입니다:

import urllib.request

# URL을 열고 콘텐츠를 읽습니다.
url = "https://www.example.com"
response = urllib.request.urlopen(url)
content = response.read()

print(content)

 

2. urllib.parse
이 모듈은 URL을 구성 요소로 분할하고, URL 매개변수를 인코딩 및 디코딩하고, URL 구성 요소를 결합하는 등 URL을 조작하고 파싱하는 함수를 제공합니다. 다음은 urllib.parse를 사용하여 URL을 구성 요소로 분할하는 예제입니다:

import urllib.parse

# URL을 구성 요소로 분할
url = " https://www.example.com/path?query=param "
parsed_url = urllib.parse.urlsplit(url)

print(parsed_url)


3. urllib.error
이 모듈은 URLError 및 HTTPError와 같이 URL 처리 중에 발생할 수 있는 에러를 처리하기 위한 예외 클래스를 제공합니다. 이러한 예외를 사용하면 urllib.request 모듈로 작업할 때 오류를 정상적으로 처리할 수 있습니다. 다음은 urllib.error를 사용하여 예외를 처리하는 예제입니다:

import urllib.request
import urllib.error

url = "https://www.nonexistentwebsite.com"

try:
    response = urllib.request.urlopen(url)
urllib.error.URLError를 e로 제외합니다:
    print(f"오류가 발생했습니다: {e}")


4. urllib.robotparser
이 모듈은 웹사이트의 robots.txt 파일을 파싱하고 분석하는 데 사용할 수 있는 RobotFileParser라는 클래스를 제공합니다. 웹 크롤러나 스크레이퍼를 작성하여 웹사이트의 특정 섹션에 액세스할 수 있는지 여부를 결정할 때 유용할 수 있습니다. 다음은 사용자 에이전트가 URL에 액세스할 수 있는지 확인하기 위해 urllib.robotparser를 사용하는 예제입니다:

import urllib.robotparser

robot_parser = urllib.robotparser.RobotFileParser()
robot_parser.set_url("https://www.example.com/robots.txt")
robot_parser.read()

user_agent = "MyWebCrawler"
url_to_check = "https://www.example.com/some-page/"

can_fetch = robot_parser.can_fetch(user_agent, url_to_check)
print(f"가져올 수 있음: {can_fetch}")

urlopen 함수

urlopen 함수는 Python의 urllib.request 모듈의 일부입니다. 이 함수는 URL을 열고 URL에서 콘텐츠를 가져오는 데 사용됩니다. urlopen 함수는 URL에서 데이터를 읽고 상호 작용할 수 있는 메서드를 제공하는 HTTPResponse 객체를 반환합니다.

다음은 urlopen 함수에 대한 간략한 설명입니다.

  • 구문(Syntax)

    urllib.request.urlopen(url, data=None, timeout=<default timeout>, *, cafile=None, capath=None, cadefault=False, context=None)

  • 매개변수(Parameters)

    • url: 열 URL입니다. 문자열 또는 요청 객체일 수 있습니다.
    • data: 선택 사항입니다. 제공된 경우, POST 메서드를 사용할 때 HTTP 요청 본문으로 전송될 바이트열 객체여야 합니다.
    • timeout: 선택 사항입니다. URL을 열 수 없는 경우 포기하기 전에 대기할 시간(초)입니다. 기본값은 글로벌 기본 시간 제한 설정입니다.
    • cafile, capath, cadefault: 선택 사항입니다. 이러한 매개 변수는 SSL/TLS 연결에 대한 사용자 지정 CA(인증 기관) 인증서를 지정하는 데 사용됩니다.
    • context: 선택 사항입니다. 연결에 대한 사용자 지정 SSL/TLS 설정을 지정하는 데 사용할 수 있는 ssl.SSLContext 객체입니다.


다음은 urlopen 함수를 사용하여 URL을 열고 콘텐츠를 읽는 예제입니다.

import urllib.request

# URL을 열고 콘텐츠를 읽습니다.
url = "https://www.example.com"
response = urllib.request.urlopen(url)
content = response.read()

print(content)

 


urlopen 함수를 사용할 때는 URL을 여는 데 문제가 있거나 서버가 HTTP 오류 상태 코드를 반환하는 경우 발생할 수 있는 URLError 및 HTTPError와 같은 예외를 처리하는 것이 좋습니다. 다음은 예외 처리와 함께 urlopen을 사용하는 예시입니다.

import urllib.request
import urllib.error

url = "https://www.example.com"

try:
    response = urllib.request.urlopen(url)
    content = response.read()
    print(content)
urllib.error.URLError를 e로 제외합니다:
    print(f"오류가 발생했습니다: {e}")

 

urlopen 함수는 Python을 사용하여 URL을 열고, 콘텐츠를 가져오고, 웹 서비스와 상호 작용하는 편리한 방법입니다.


operator.itemgetter 함수

operator.itemgetter 함수는 파이썬의 연산자 모듈의 일부입니다. 이 함수는 피연산자의 __getitem__() 메서드를 사용하여 피연산자로부터 항목을 가져오는 호출 가능한 객체를 만드는 데 사용됩니다. 이터러블에서 특정 항목을 검색하거나 복잡한 데이터 구조를 정렬하거나 처리할 때 특히 유용합니다.

다음은 operator.itemgetter 함수에 대한 간략한 설명입니다.

  • 구문(Syntax): operator.itemgetter(item[, args...])

  • 매개변수
    • item: 피연산자에서 항목을 검색하는 데 사용할 인덱스 또는 키입니다.
    • args: 선택 사항. 여러 항목을 검색하기 위한 추가 인덱스 또는 키입니다.

다음은 operator.itemgetter 함수를 사용하여 목록에서 특정 항목을 검색하는 예제입니다.

import operator

data = [1, 2, 3, 4, 5]
get_second_item = operator.itemgetter(1)
second_item = get_second_item(data)

print(second_item) # 출력: 2


operator.itemgetter는 특정 키나 인덱스를 기준으로 딕셔너리 또는 튜플 목록을 정렬할 때도 매우 유용합니다. 다음은 예제입니다.

import operator

data = [
    {'name': 'Alice', 'age: 30},
    {'name': 'Bob', 'age': 25},
    {'name': 'Charlie', 'age': 35},
]

# 'age' 키를 기준으로 사전 목록을 정렬합니다.
sorted_data = sorted(data, key=operator.itemgetter('age'))
print(sorted_data)
# 출력: [{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]


operator.itemgetter 함수는 피연산자로부터 특정 항목을 가져오는 호출 가능한 객체를 만드는 편리한 방법입니다. 특히 복잡한 데이터 구조를 정렬하고 처리하는 데 유용합니다.


반응형