혼자보기위한python🌗모듈2️⃣

이풀싹·2023년 6월 20일
0

파이썬_BASIC

목록 보기
12/13
post-thumbnail

1️⃣random module

import random
print("#random module:")

# random(): 0.0<= x < 1.0 float를 return합니다.
print("- randpm():", random.random())

# uniform(min,max): 지정한 범위 사이의 float를 return합니다.
print("- uniform(10,20):", random.uniform(10, 20))

# randrange(): 지정한 범위의 int를 return합니다.
# -randrange(max): 0~max 사이의 값을 return합니다.
# -randrange(min,max): min~max 사이의 값을 return합니다.
# -randrange(min,max,step): min과 max 사이에서 step 크기만큼 증가하는 값을 return합니다.


def selectRandom(li):
    import random
    ln = len(li)
    r = random.randrange(0, ln)
    return li[r]


print("- randrange(10):", random.randrange(10))
print("- randrange(10,20):", random.randrange(10, 20))
print("- randrange(10,20,2):", random.randrange(10, 20, 2))

# choice(list): 리스트 내부에 있는 요소를 랜덤으로 선택합니다.
print('- choice(["감자","모찌","핑핑","초ㅏ"]):',
      random.choice(["감자", "모찌", "핑핑", "초ㅏ"]))

# shuffle(list): 리스트 요소들을 랜덤하게 섞습니다.
print('- shuffle(["감자","모찌","핑핑","초ㅏ"]):',
      random.shuffle(["감자", "모찌", "핑핑", "초ㅏ"]))

# sample(list,k=<숫자>): 리스트 요소 중에 k개를 뽑습니다.
print("- sample([0,1,2,3,4,5,6,7,8,9],k=3):",
      random.sample([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], k=3))
  • random.random(): 0.0 이상 1.0 미만의 부동소수점(float) 값을 반환합니다. 이 메서드를 사용하여 0과 1 사이의 무작위한 부동소수점 값을 얻을 수 있습니다.
  • random.uniform(min, max): 지정된 범위 사이의 부동소수점(float) 값을 반환합니다. min은 범위의 최소값이고, max는 범위의 최대값입니다. 예를 들어, random.uniform(10, 20)을 호출하면 10 이상 20 미만의 부동소수점 값을 반환합니다.
  • random.randrange(start, stop, step]): 주어진 범위 내의 정수(int) 값을 반환합니다. start 매개변수는 선택적으로 사용되며 범위의 시작값을 나타냅니다. stop은 범위의 종료값을 나타내며, step은 값들 간의 증가량을 나타냅니다. 예를 들어, random.randrange(10)은 0부터 10 사이의 값을 반환하고, random.randrange(10, 20)은 10부터 20 사이의 값을 반환합니다. randrange(0, 10, 2)는 0부터 10 사이에서 2씩 증가하는 값 중에서 무작위로 선택한 값을 반환합니다.
    (sequence)
  • random.choice(seq): choice 함수는 주어진 시퀀스(seq)에서 임의의 요소를 선택하여 반환합니다. 시퀀스는 리스트, 튜플, 문자열 등과 같이 순서가 있는 자료형이 될 수 있습니다. 함수는 주어진 시퀀스에서 임의의 요소를 선택하고 반환합니다.
  • random.shuffle(seq): shuffle 함수는 주어진 시퀀스(seq)의 요소를 임의의 순서로 섞습니다. 이 함수는 원본 시퀀스를 직접 변경하며 반환값은 없습니다. 따라서 섞은 결과를 확인하려면 원본 시퀀스를 따로 출력해야 합니다.
  • random.sample(population, k): sample 함수는 주어진 집합(population)에서 k개의 요소를 임의로 선택하여 리스트로 반환합니다. 반환되는 리스트에는 중복되지 않는 요소들이 포함됩니다. population은 시퀀스 혹은 집합과 같이 반복 가능한 객체가 될 수 있습니다. 함수는 주어진 집합에서 중복되지 않는 k개의 요소를 무작위로 선택하여 리스트로 반환합니다.


2️⃣sys module

sys 모듈은 파이썬의 내장 모듈 중 하나로, 시스템 관련 기능에 접근하고 제어하는 데 사용됩니다. 이 모듈은 파이썬 인터프리터와 상호작용하며, 시스템과 관련된 정보에 접근하고 파이썬 프로그램의 실행을 제어하는 기능을 제공합니다.

sys 모듈의 몇 가지 주요 기능은 다음과 같습니다:

설명
sys.argv커맨드 라인 인자에 접근
sys.exit()프로그램 종료
sys.stdin입출력 스트림 제어:표준 입력
sys.stdout입출력 스트림 제어:표준 출력
sys.stderr입출력 스트림 제어:표준 오류
sys.path모듈 및 경로 관리
sys.platform현재 실행 중인 시스템의 플랫폼을 반환
sys.version현재 사용 중인 파이썬 버전 정보
import sys

print(sys.argv)
print("--------")

# 컴퓨터 환경과 관련된 정보를 출력합니다 ( ・ิ ͜ʖ ・ิ)
print("getwindowsversion:()",sys.getwindowsversion())
print("--------")
print("copyright:",sys.copyright)
print("--------")
print("version:",sys.version)

# 프로그램을 강종합니다 ( ・ิ ͜ʖ ・ิ)
sys.exit()
  • sys.argv: 이는 명령줄에서 전달된 인자들을 담고 있는 리스트입니다. 프로그램 실행 시 커맨드 라인에 전달된 인자들을 확인할 수 있습니다. 예를 들어, python script.py arg1 arg2와 같이 실행하면 sys.argv는 ['script.py', 'arg1', 'arg2']와 같은 리스트를 반환합니다.
  • sys.getwindowsversion(): 이 함수는 현재 Windows 운영 체제의 버전 정보를 반환합니다. Windows 운영 체제에서만 사용 가능하며, sys.getwindowsversion().major, sys.getwindowsversion().minor, sys.getwindowsversion().build, sys.getwindowsversion().platform 등의 속성을 사용하여 세부 정보를 알 수 있습니다.
  • sys.copyright: 이는 현재 사용 중인 파이썬 인터프리터의 저작권 정보를 나타냅니다. 일반적으로 파이썬 버전과 저작권 정보가 출력됩니다.
  • sys.version: 이는 현재 사용 중인 파이썬 인터프리터의 버전 정보를 반환합니다. 버전 번호와 빌드 정보가 포함된 문자열로 출력됩니다.
  • sys.exit(): 이 함수는 프로그램을 강제로 종료합니다. 일반적으로 프로그램 실행 중에 조건을 만족하는 경우에 사용됩니다. sys.exit()를 호출하면 프로그램이 즉시 종료됩니다.


3️⃣os module

os 모듈은 파이썬의 내장 모듈 중 하나로, 운영 체제와 상호작용하기 위한 기능을 제공합니다. 이 모듈을 사용하면 파일 및 디렉토리 관리, 프로세스 제어, 환경 변수 액세스 등과 같은 운영 체제 관련 작업을 수행할 수 있습니다.

os 모듈의 주요 기능은 다음과 같습니다:

설명
os.getcwd()현재 작업 디렉토리의 경로를 반환
os.listdir(path)주어진 경로에서 파일 및 디렉토리 목록을 반환
os.environ현재 시스템의 환경 변수에 접근할 수 있는 딕셔너리 객체입니다. 환경 변수를 읽거나 설정하는 데 사용
os.system(command)주어진 명령을 실행
os.kill(pid, signal)특정 프로세스에 시그널을 보냄
os.path파일 경로와 관련된 작업을 수행하는 함수들을 제공: 경로를 조작하고, 파일 확장자 추출, 경로 구성, 파일명 분리 등
os.name현재 운영 체제의 이름을 반환
os.sep운영 체제에서 사용하는 디렉토리 구분자를 나타냄
import os

# 기본정보 ( ^∇^)✎
print("현재 운영체제:",os.name)
print("현재 폴더:",os.getcwd())
print("현재 폴더 내부요소:",os.listdir())

# 폴더를 만들고, 제거하기 
# 폴더가 '비어있을때만' 제거가능! ( ^∇^)✎
os.mkdir("hello")
os.rmdir("hello")

# 파일을 생성하고 + 파일 이름 변경하기 ( ^∇^)✎
with open("original.txt","w") as file:
    file.write("hello")
os.rename("original.txt","new.txt")


# 파일을 제거합니다 ( ^∇^)✎
os.remove("new.txt")
#os.unlink("new.txt")

# 시스템 명령어 실행 ( ^∇^)✎
os.system("dir")
  • os.name: os.name은 현재 운영 체제의 이름을 반환합니다. 위의 코드에서는 os.name을 출력하여 현재 운영 체제를 확인할 수 있습니다.
  • os.getcwd(): os.getcwd() 함수는 현재 작업 디렉토리의 경로를 반환합니다. 현재 실행 중인 스크립트 파일이 위치한 디렉토리를 확인할 수 있습니다.
  • os.listdir(): os.listdir() 함수는 현재 폴더 내의 파일 및 폴더 목록을 반환합니다. 인자로 경로를 전달하지 않으면 기본적으로 현재 작업 디렉토리의 내용을 반환합니다.
  • os.mkdir("hello"): os.mkdir() 함수는 새로운 폴더를 생성합니다. 위의 코드에서는 "hello"라는 이름의 폴더를 생성합니다.
  • os.rmdir("hello"): os.rmdir() 함수는 비어 있는 폴더를 제거합니다. 위의 코드에서는 "hello" 폴더를 제거합니다.
  • with open("original.txt","w") as file: file.write("hello"): "original.txt"라는 파일을 생성하고 "hello"라는 내용을 파일에 씁니다. with 문을 사용하여 파일을 자동으로 닫습니다.
  • os.rename("original.txt","new.txt"): "original.txt" 파일의 이름을 "new.txt"로 변경합니다.
  • os.remove("new.txt"): os.remove() 함수는 파일을 제거합니다. 위의 코드에서는 "new.txt" 파일을 제거합니다. 주석 처리된 os.unlink() 함수는 동일한 작업을 수행하는 다른 방법입니다.
  • os.system("dir"): os.system() 함수를 사용하여 시스템 명령어를 실행합니다. 위의 코드에서는 "dir" 명령어를 실행하여 현재 디렉토리의 파일 목록을 출력합니다.

위의 코드 예시에서는 os 모듈을 사용하여 현재 운영 체제 정보, 작업 디렉토리, 파일 및 폴더 관리, 시스템 명령어 실행 등의 작업을 수행하는 방법을 보여주고 있습니다.

🐰💭 File/Directory 구분하기 ❗

import os

# 현재 폴더의 파일/폴더를 출력합니다.
output=os.listdir(".")
print("os.listdir():",output)
print()

# 현재 폴더의 파일/폴더를 구분합니다.
print("# 폴더와 파일 구분하기")
for path in output:
    if os.path.isdir(path):
        print("폴더:",path)
    else:
        print("파일",path)

output = os.listdir(".")현재 작업 디렉토리에서 파일과 디렉토리의 리스트를 가져와서 output 변수에 할당하는 코드입니다.

os.listdir(): 지정된 디렉토리 내의 파일과 디렉토리를 나타내는 리스트를 반환하는 함수입니다.
".": 현재 작업 디렉토리를 나타내는 경로입니다. "."은 현재 스크립트가 실행되고 있는 디렉토리를 가리킵니다.


4️⃣ datetime module

datetime 모듈은 파이썬의 내장 모듈 중 하나로, 날짜(date), 시간(time), 날짜 및 시간(datetime)에 관련된 작업을 수행하는 데 사용됩니다. 이 모듈은 날짜와 시간을 표현하고 조작하는 클래스와 함수를 제공하여 날짜 및 시간 관련 작업을 쉽게 처리할 수 있게 해줍니다.

datetime 모듈에서 자주 사용되는 클래스와 함수에는 다음과 같은 것들이 있습니다:

설명
datetime.datetime날짜와 시간을 함께 표현하는 클래스
datetime.date날짜 정보를 표현하는 클래스
datetime.time시간 정보를 표현하는 클래스
datetime.timedelta시간 간격을 나타내는 클래스
datetime.now()현재 날짜와 시간을 반환하는 함수
datetime.strptime()주어진 형식에 맞춰 문자열을 해석하여 해당하는 날짜나 시간 객체로 변환

위의 클래스와 함수들을 사용하여 날짜와 시간을 생성, 조작, 비교하거나 포맷팅하는 등 다양한 작업을 수행할 수 있습니다. datetime 모듈은 날짜 및 시간 관련 작업을 처리하는데 유용한 도구이며, 파이썬에서 날짜와 시간을 다루는 일반적인 요구사항을 충족시켜줍니다.

(1)현재시간 구하기

import datetime

# 현재 시각 구하고 출력하기 _〆(。╹‿ ╹ 。)

print("# 현재 시각 출력하기")
now = datetime.datetime.now()
print(now.year, "년")
print(now.month, "월")
print(now.day, "일")
print(now.hour, "시")
print(now.minute, "분")
print(now.second, "초")
print()

# 시간 출력 방법 _〆(。╹‿ ╹ 。)

print("# 시간을 포맷에 맞춰 출력하기")
output_a = now.strftime("%Y.%m.%D, %H:%M:%S")
print(now.strftime("%Y.%m.%d, %H:%M:%S"))
output_b = "{}년 {}월 {}일 {}시 {}분 {}초".format(
    now.year, now.month, now.day, now.hour, now.minute, now.second)
output_c = now.strftime("%Y{} %m{} %d{}, %H{} %M{} %S{}").format(*"년월일시분초")
print(output_a)
print(output_b)
print(output_c)

now.strftime("%Y.%m.%d, %H:%M:%S"): strftime() 메서드를 사용하여 현재 시각을 지정된 포맷에 맞춰 출력합니다. %Y, %m, %d, %H, %M, %S와 같은 형식 지시자를 사용하여 날짜 및 시간 요소를 포맷팅합니다. 예시에서는 "연-월-일, 시:분:초" 형식으로 출력되도록 지정하였습니다.

output_b = "{}년 {}월 {}일 {}시 {}분 {}초".format(now.year, now.month, now.day, now.hour, now.minute, now.second): format() 메서드를 사용하여 형식화된 문자열을 생성합니다. 중괄호 {}를 사용하여 format() 메서드에 전달된 인자들을 순서대로 삽입하여 문자열을 생성합니다.

output_c = now.strftime("%Y{} %m{} %d{}, %H{} %M{} %S{}").format(*"년월일시분초"): 위의 예시와 마찬가지로 strftime() 메서드를 사용하여 현재 시각을 형식에 맞춰 출력합니다. 이때 format() 메서드를 활용하여 포맷 문자열 내의 중괄호 {}에 인자들을 삽입합니다. format() 메서드의 *을 사용하여 "년월일시분초" 문자열을 개별 문자들로 전달하였습니다.

🐰💭 %m 🆚 %M ❗

%m과 %M은 모두 strftime() 메서드에서 날짜와 시간을 포맷팅할 때 사용되는 형식 지시자입니다. 하지만 두 지시자는 서로 다른 의미를 가지고 있습니다.

%m: %m은 strftime() 메서드에서 월(month)을 나타내는 형식 지시자입니다. 0으로 패딩된 두 자리 숫자 형태로 월을 나타냅니다. 예를 들어, 06은 6월을 나타냅니다.

%M: %M은 strftime() 메서드에서 분(minute)을 나타내는 형식 지시자입니다. 0으로 패딩된 두 자리 숫자 형태로 분을 나타냅니다. 예를 들어, 09는 9분을 나타냅니다.

아래는 각각의 형식 지시자를 사용하여 현재 시각을 포맷팅하는 예시 코드입니다:

import datetime

now = datetime.datetime.now()

# 월 포맷팅 (%m)
month_formatted = now.strftime("%m")
print("월:", month_formatted)  # 출력: 월: 06

# 분 포맷팅 (%M)
minute_formatted = now.strftime("%M")
print("분:", minute_formatted)  # 출력: 분: 09

위의 코드에서는 strftime() 메서드를 사용하여 현재 시각을 %m과 %M의 형식 지시자에 맞춰 포맷팅한 결과를 출력하고 있습니다. 06은 현재 월을, 09는 현재 분을 나타냅니다. %m과 %M은 각각 월과 분을 나타내며, 두 지시자는 출력 형식이 다르므로 주의하여 사용해야 합니다.

🐰💭 %d 🆚 %D ❗

%d와 %D는 날짜를 포맷팅할 때 사용되는 형식 지시자입니다. 하지만 두 지시자는 서로 다른 의미와 출력 형식을 가지고 있습니다.

%d: %d는 strftime() 메서드에서 일(day)을 나타내는 형식 지시자입니다. 0으로 패딩된 두 자리 숫자 형태로 일을 나타냅니다. 예를 들어, 05는 5일을 나타냅니다.

%D: %D는 %m/%d/%y와 같은 날짜의 단축 형식을 나타내는 형식 지시자입니다. %m은 월을, %d는 일을, %y는 연도의 끝 두 자리를 나타냅니다. 예를 들어, 06/05/21은 2021년 6월 5일을 나타냅니다.

아래는 각각의 형식 지시자를 사용하여 현재 날짜를 포맷팅하는 예시 코드입니다:

import datetime

now = datetime.datetime.now()

# 일 포맷팅 (%d)
day_formatted = now.strftime("%d")
print("일:", day_formatted)  # 출력: 일: 19

# 날짜 단축 형식 포맷팅 (%D)
date_formatted = now.strftime("%D")
print("날짜:", date_formatted)  # 출력: 날짜: 06/19/23

🐰💭 .format(*"년월일시분초") :

.format(*"년월일시분초") : 문자열, 리스트 등 앞에 *을 붙이면 요소 하나하나가 매개변수로 지정됩니다!

values = [1, 2, 3, 4, 5]

formatted_string = "{} + {} + {} + {} + {} = {}".format(*values, sum(values))
print(formatted_string)

(2)특정 시간 요소를 교체하기

import datetime
now = datetime.datetime.now()

# 특정 시간 이후의 시간 구하기
print("# datetime.timedelta로 시간 더하기")
after = now+datetime.timedelta(weeks=1, days=1, hours=1, minutes=1, seconds=1)
print(after.strftime("%Y{} %m{} %d{} %H{} %M{} %S{}").format(*"년월일시분초"))
print()

# 특정 시간 요소 교체하기
print("#now.replace()로 1년 더하기")
output = now.replace(year=(now.year+1))
print(output.strftime("%Y{} %m{} %d{} %H{} %M{} %S{}").format(*"년월일시분초"))

  • datetime.timedelta():
    datetime.timedelta() 함수는 두 날짜 또는 시간 간격을 나타내는 클래스인 timedelta 객체를 생성합니다.
    timedelta 객체는 일(day), 시간(hour), 분(minute), 초(second), 마이크로초(microsecond) 등의 시간 간격을 다룰 수 있습니다.
    timedelta 객체를 사용하여 날짜나 시간에 특정 시간 간격을 더하거나 빼는 등의 연산을 수행할 수 있습니다. 1년후,2년 후 등의 몇년 후를 구하는 기능은 없습니당. 1년후를 구할 때는 replace()함수를 사용하여 아예 날짜 값을 교체하는 것이 일반적입니다!
import datetime

# 현재 시간
now = datetime.datetime.now()

# 1주일, 1일, 1시간, 1분, 1초를 더한 시간 구하기
after = now + datetime.timedelta(weeks=1, days=1, hours=1, minutes=1, seconds=1)
print(after)  # 예시 출력: 2023-06-27 19:42:08.288347

위의 예시 코드에서는 datetime.timedelta() 함수를 사용하여 현재 시간 now에 1주일, 1일, 1시간, 1분, 1초를 더한 after 변수를 계산하고 출력합니다. timedelta() 함수의 인수로 시간 간격을 지정하여 더할 수 있으며, 이를 통해 특정 시간 이후 또는 이전의 시간을 계산할 수 있습니다.

  • replace() 메서드는 datetime 객체의 특정 시간 요소를 교체한 새로운 datetime 객체를 반환합니다.
    교체할 시간 요소를 인수로 전달하여, 해당 시간 요소만 변경된 객체를 생성합니다. 다른 시간 요소는 유지됩니다.
    .replace() 메서드는 연도(year), 월(month), 일(day), 시(hour), 분(minute), 초(second), 마이크로초(microsecond) 등의 시간 요소를 변경할 수 있습니다.

예시 코드:

import datetime

# 현재 시간
now = datetime.datetime.now()

# 연도를 1년 뒤로 변경
output = now.replace(year=now.year + 1)
print(output)  # 예시 출력: 2024-06-19 18:41:23.615268

5️⃣ time module

time 모듈은 파이썬의 내장 모듈 중 하나로, 시간과 관련된 기능을 제공합니다. 이 모듈은 시간을 측정하고 제어하는 함수와 클래스를 포함하고 있으며, 시간 기반의 작업을 수행하는 데 유용합니다.

자주 사용되는 time 모듈의 클래스와 함수에는 다음과 같은 것들이 있습니다:

설명
time.time()현재 시간을 실수로 반환하는 함수. 반환 값은 1970년 1월 1일 0시 0분 0초(UTC) 이후로 경과한 시간을 초 단위로 나타냄.
time.sleep(seconds)주어진 시간(초)만큼 프로그램의 실행을 멈춥니다. 이 함수를 사용하여 프로그램의 실행을 지연시키거나 일시 정지시킬 수 있다.
time.localtime([seconds])주어진 시간(초)에 대한 로컬 시간
time.strftime(format[, struct_time])time.struct_time 객체를 지정된 형식 문자열로 변환
time.gmtime([seconds])주어진 시간(초)에 대한 UTC(협정 세계시) 시간
time.mktime(struct_time)time.struct_time 객체를 주어진 시간의 초 단위로 변환
time.process_time()현재 프로세스의 CPU 시간

위의 함수들은 time 모듈에서 자주 사용되는 함수 중 일부입니다. 이외에도 더 다양한 함수와 기능이 제공되며, 시간 관련 작업에 유용하게 사용할 수 있습니다.

🐰💭 datetime 모듈🆚time 모듈 ❗

datetime 모듈과 time 모듈은 모두 파이썬의 내장 모듈이며, 시간과 관련된 작업을 처리하는 데 사용됩니다. 두 모듈은 비슷한 기능을 가지고 있지만 목적사용법에서 약간의 차이가 있습니다.

  • 날짜와 시간 표현:
    • datetime 모듈: datetime 모듈은 날짜(date)와 시간(time)을 함께 표현하는 datetime 클래스를 제공합니다. 이 클래스는 날짜와 시간을 조작하고 비교하는 메서드를 포함하고 있습니다. datetime 클래스는 년, 월, 일, 시, 분, 초, 마이크로초 등의 시간 구성 요소를 다룰 수 있습니다.
    • time 모듈: time 모듈은 시간(time)을 주로 다루는 함수와 클래스를 제공합니다. time 모듈에서는 시간을 초(second) 단위로 표현하며, 시, 분, 초를 다루는 메서드를 제공합니다.
  • 시간 정보의 표현 방식:

    • datetime 모듈: datetime 모듈에서는 날짜와 시간을 각각의 클래스로 나타내고 조작합니다. 날짜와 시간을 함께 다루는 datetime 클래스를 사용하여 표현하고 조작합니다.
    • time 모듈: time 모듈에서는 주로 시간을 초 단위로 표현하고 다룹니다. 시, 분, 초를 각각의 메서드로 다루며, 시간 간격을 나타내는 timedelta 클래스를 사용하여 표현하고 조작합니다.
  • 용도:

    • datetime 모듈: datetime 모듈은 주로 날짜와 시간을 다루는 작업에 사용됩니다. 날짜와 시간의 생성, 조작, 포맷팅, 비교 등에 유용합니다.
    • time 모듈: time 모듈은 주로 시간 관련 작업에 사용됩니다. 시간 측정, 지연, 형식화, 로컬 및 UTC 시간 변환 등을 다룹니다.
      요약하자면, datetime 모듈은 날짜와 시간을 함께 다루는 데 사용되고, time 모듈은 시간을 초 단위로 다루는 데 사용됩니다. 두 모듈은 비슷한 작업을 수행하지만 목적과 사용법에서 약간의 차이가 있으므로 적절한 모듈을 선택하여 시간 관련 작업을 수행하면 됩니다.
import time

print("지금부터 5초동안 정지합니다!")
time.sleep(5)
print("프로그램을 종료합니다")

import time

print("지금부터 5초동안 정지합니다!")

for second in range(1, 6):
    time.sleep(1)
    print(second, "초")
    


print("프로그램을 종료합니다!!")


6️⃣ urllib module

urllib 모듈은 파이썬에서 URL(Uniform Resource Locator)을 다루는 데 사용되는 라이브러리입니다. 이 모듈은 HTTP, HTTPS, FTP 등의 프로토콜을 사용하여 웹 서버와 통신하고 데이터를 다운로드하거나 업로드하는 기능을 제공합니다. urllib 모듈은 파이썬의 표준 라이브러리로 제공되며, urllib.request, urllib.parse, urllib.error, urllib.robotparser 등의 모듈로 구성됩니다.

urllib 모듈의 주요 기능은 다음과 같습니다:

설명
urlopen()URL을 열고 웹 서버로부터 데이터를 읽기
urllib.request.urlretrieve()파일 다운로드
urllib.request.urlopen()데이터를 POST 또는 PUT 메서드를 사용하여 서버로 업로드
urllib.parseURL을 구문 분석, 조작
urllib.errorURL 열기 중 발생하는 오류를 처리
urllib.robotparser웹 사이트의 로봇 제어 규약(Robots.txt) 파일을 파싱

urllib 모듈은 웹 스크래핑, 웹 데이터 수집, 웹 API와의 상호 작용 등 다양한 웹 관련 작업에 유용하게 사용될 수 있습니다.

from urllib import request

target=request.urlopen("http://google.com")
output=target.read()

print(output)

실행결과를 보면 앞에 "b"라는 글자는 binary data를 의미하는 것입니다.

0개의 댓글