Python

Python - 입출력

thebasics 2024. 9. 30. 17:00

목차

  1. 입출력이란?
  2. 콘솔 입출력
    • 입력받기: input()
    • 출력하기: print()
  3. 파일 입출력
    • 파일 열기: open()
    • 파일 읽기
    • 파일 쓰기
    • 파일 닫기
  4. 예시 코드
  5. 결론
  6. 관련 자료 및 추가 학습 자료

1. 입출력이란?

입출력은 프로그램이 외부와 상호 작용하는 방법을 의미합니다. Python에서 입출력은 주로 두 가지 형태로 이루어집니다: 콘솔 입출력과 파일 입출력. 콘솔 입출력은 프로그램이 실행되는 동안 사용자와 직접 상호 작용하는 방법을 말하며, 파일 입출력은 프로그램이 데이터를 파일에 저장하거나 파일에서 데이터를 불러오는 방법을 말합니다.


2. 콘솔 입출력

입력받기: input()

  • 설명: input() 함수는 사용자로부터 데이터를 입력받을 때 사용됩니다. 입력받은 데이터는 항상 문자열로 반환됩니다.
  • 사용법:
    name = input("Enter your name: ")
    print(f"Hello, {name}!")
  • 예시:
    age = input("Enter your age: ")
    print("Your age is", age)
    • 이 코드는 사용자가 입력한 나이를 문자열로 받아 출력합니다.

출력하기: print()

  • 설명: print() 함수는 콘솔에 메시지를 출력할 때 사용됩니다. 다양한 데이터 타입을 출력할 수 있으며, 여러 값을 한 줄에 출력할 수 있습니다.
  • 사용법:
    print("Hello, World!")
  • 포맷팅: print()는 다양한 포맷팅 방법을 지원합니다.
    • 기본 출력:
      print("Python", "is", "fun!")  # Python is fun!
    • 문자열 포맷팅:
      name = "Alice"
      print(f"Hello, {name}!")  # Hello, Alice!
    • 구분자 변경:
      print("Python", "Java", "C++", sep=", ")  # Python, Java, C++
    • 줄 바꿈 없이 출력:
      print("Hello", end="")
      print("World")  # HelloWorld

3. 파일 입출력

파일 열기: open()

  • 설명: open() 함수는 파일을 열 때 사용됩니다. 파일을 열 때 모드를 지정할 수 있으며, 기본 모드는 읽기('r') 모드입니다.
  • 모드 종류:
    • 'r': 읽기 모드 - 파일을 읽을 때 사용
    • 'w': 쓰기 모드 - 파일을 쓸 때 사용. 기존 파일이 있다면 내용을 지우고 새로 씀
    • 'a': 추가 모드 - 파일 끝에 내용을 추가할 때 사용
    • 'b': 바이너리 모드 - 이진 파일을 읽거나 쓸 때 사용
    • 'r+': 읽기/쓰기 모드 - 파일을 읽고 쓸 때 사용
  • 사용법:
    file = open('file.txt', 'r')

파일 읽기

  • 설명: 파일에서 데이터를 읽을 때는 read(), readline(), readlines() 등의 메서드를 사용할 수 있습니다.
  • 예시:
    • 전체 읽기: read()는 파일의 모든 내용을 한 번에 읽습니다.
      file = open('file.txt', 'r')
      content = file.read()
      print(content)
      file.close()
    • 한 줄씩 읽기: readline()은 파일에서 한 줄씩 읽습니다.
      file = open('file.txt', 'r')
      line = file.readline()
      while line:
          print(line, end='')
          line = file.readline()
      file.close()
    • 모든 줄을 리스트로 읽기: readlines()는 파일의 모든 줄을 리스트로 반환합니다.
      file = open('file.txt', 'r')
      lines = file.readlines()
      for line in lines:
          print(line, end='')
      file.close()

파일 쓰기

  • 설명: 파일에 데이터를 쓸 때는 write() 또는 writelines() 메서드를 사용할 수 있습니다.
  • 예시:
    • 문자열 쓰기: write()는 문자열을 파일에 씁니다.
      file = open('file.txt', 'w')
      file.write("Hello, World!\n")
      file.write("Python is great!\n")
      file.close()
    • 리스트 쓰기: writelines()는 문자열 리스트를 파일에 씁니다.
      file = open('file.txt', 'w')
      lines = ["Hello, World!\n", "Python is great!\n"]
      file.writelines(lines)
      file.close()

파일 닫기

  • 설명: 파일을 다 사용한 후에는 close() 메서드를 사용하여 파일을 닫아야 합니다. 파일을 닫으면 다른 프로그램에서 이 파일에 접근할 수 있습니다.
  • 사용법:
    file = open('file.txt', 'r')
    # 파일 작업 수행
    file.close()

with 문을 사용한 파일 입출력

  • 설명: with 문을 사용하면 파일을 자동으로 닫을 수 있어 더 안전하고 간결한 코드 작성을 할 수 있습니다.
  • 사용법:
    with open('file.txt', 'r') as file:
        content = file.read()
        print(content)
    • with 블록을 벗어나면 파일이 자동으로 닫힙니다.

4. 예시 코드

콘솔 입출력 예시

# 사용자로부터 이름과 나이를 입력받아 출력하는 예시
name = input("Enter your name: ")
age = input("Enter your age: ")
print(f"Hello, {name}! You are {age} years old.")

파일 입출력 예시

  • 파일 읽기

    # 파일에서 내용을 읽어와서 출력하는 예시
    with open('sample.txt', 'r') as file:
        content = file.read()
        print(content)
  • 파일 쓰기

    # 파일에 문자열을 작성하는 예시
    with open('output.txt', 'w') as file:
        file.write("This is a test.\n")
        file.write("Python file handling is easy.\n")
  • 파일 추가 쓰기

    # 기존 파일에 내용을 추가하는 예시
    with open('output.txt', 'a') as file:
        file.write("Appending new line.\n")

5. 결론

Python의 입출력 기능은 사용자와 프로그램 간의 상호작용을 가능하게 하며, 파일 입출력을 통해 데이터의 영구적인 저장과 관리가 가능합니다. input()print() 함수는 기본적인 콘솔 입출력을 처리하며, open() 함수를 통해 파일을 열고 데이터를 읽거나 쓸 수 있습니다. 특히 with 문을 사용하여 파일을 자동으로 닫아주는 것은 안전한 파일 처리를 위한 좋은 습관입니다. 이러한 입출력 기능을 잘 이해하고 활용하면 다양한 상황에서 유연하고 효율적인 프로그램을 작성할 수 있습니다. 데이터의 저장, 불러오기, 사용자와의 상호작용 등 많은 부분에서 입출력은 핵심적인 역할을 하기 때문에, 이를 제대로 이해하고 활용하는 것은 Python 프로그래밍에 있어서 중요한 능력입니다.


6. 관련 자료 및 추가 학습 자료


이 글에서는 Python의 콘솔 입출력과 파일 입출력에 대해 다루었습니다. input()print()를 통해 사용자와의 상호작용을, open()을 통해 파일의 읽기 및 쓰기를 이해하고 활용해 보시기 바랍니다. 신뢰성 있는 자료를 통해 입출력에 대한 깊은 이해를 가지시면 Python을 더욱 효과적으로 사용할 수 있습니다.

반응형

'Python' 카테고리의 다른 글

Python - 함수 심화  (5) 2024.10.22
Python - 모듈과 패키지  (7) 2024.10.21
Python - 예외 처리  (1) 2024.10.20
Python - 데이터 구조  (4) 2024.09.29
Python - 기초 문법  (5) 2024.09.28