파이썬

[파이썬] 사용자 입력 받기

제에엔 2025. 2. 8. 00:05

🔎 `input()` 함수 사용 (기본적인 방법)

`input()` 함수는 표준 입력을 통해 문자열을 입력받는다.

name = input("이름을 입력하세요: ")
print(f"안녕하세요, {name}님!")

 

⚠️ `input()` 함수는 항상 문자열(`str`)을 반환하므로, 숫자로 변환하려면 `int()` 또는 `float()` 등을 사용해야 한다.

 

🔽 숫자 입력받기

age = int(input("나이를 입력하세요: "))  # 문자열을 정수로 변환
print(f"내년에는 {age + 1}살이 됩니다.")

🔎 `sys.stdin.read()` 사용 (여러 줄 입력)

`sys.stdin.read()`를 사용하면 한 번에 여러 줄의 입력을 받을 수 있다.

import sys

print("여러 줄을 입력하고 Ctrl+D(Unix) 또는 Ctrl+Z(Windows)를 누르세요.")
data = sys.stdin.read()
print("입력한 내용:")
print(data)

🔎 `sys.stdin.readline()` 사용 (한 줄 입력)

`sys.stdin.readline()`은 입력을 한 줄씩 읽을 때 사용한다.

import sys

print("한 줄 입력:")
line = sys.stdin.readline().strip()  # 줄바꿈 문자 제거
print(f"입력된 값: {line}")

🔎 `argparse` 모듈 사용 (커맨드라인 인자)

터미널에서 스크립트 실행 시 인자를 전달받을 때 사용한다.

import argparse

parser = argparse.ArgumentParser(description="커맨드라인 인자 예제")
parser.add_argument("--name", type=str, help="사용자의 이름")
args = parser.parse_args()

print(f"안녕하세요, {args.name}님!")  # 실행 예: `python script.py --name=홍길동`

🔎 `getpass` 모듈 사용 (비밀번호 입력)

비밀번호와 같은 민감한 정보를 입력받을 때는 `getpass()`를 사용한다.

import getpass

password = getpass.getpass("비밀번호를 입력하세요: ")
print("비밀번호 입력 완료!")

🚀 정리

  • input(): 일반적인 입력 처리 (기본적으로 문자열 반환)
  • sys.stdin.read(): 여러 줄 입력 처리
  • sys.stdin.readline(): 한 줄씩 읽기
  • argparse: 커맨드라인 인자 처리
  • getpass.getpass(): 비밀번호 입력

어떤 방법을 사용할지는 프로그램의 목적과 실행 환경에 따라 달라진다. 🚀