파이썬 프로그램의 입력과 출력: 파일 IO, 명령행 인자 처리

파이썬 프로그램의 입력과 출력: 파일 IO, 명령행 인자 처리

프로그램의 입력과 출력은 프로그래밍의 가장 기본적인 요소 중 하나입니다. 이번 글에서는 파이썬에서의 프로그램 입력과 출력에 대해 알아보겠습니다. 사용자 입력 처리, 표준 출력 및 에러 출력, 파일 입출력, 그리고 명령행 인자 처리 등, 파이썬에서의 입출력 처리 방법에 대해 다루겠습니다.

프로그램의 입력과 출력이란?

프로그램의 입력과 출력이란 프로그램이 데이터를 받아들이고(입력), 결과를 반환하는(출력) 과정을 말합니다. 이는 사용자로부터 직접 데이터를 받아들이는 것일 수도 있고, 파일이나 데이터베이스에서 데이터를 읽어오는 것일 수도 있습니다. 반대로 프로그램의 출력은 화면에 결과를 표시하거나, 파일에 결과를 쓰거나, 데이터베이스에 데이터를 저장하는 등의 방식으로 이루어집니다.

파이썬에서의 표준 입력 처리 방법

파이썬에서는 ‘input()’ 함수를 사용하여 사용자로부터 직접 입력을 받을 수 있습니다. 이 함수는 사용자로부터 입력을 받아 문자열로 반환합니다.

user_input = input("Enter something: ")
print("You entered:", user_input)

파이썬에서의 표준 출력 및 에러 출력 처리 방법

파이썬에서는 ‘print()’ 함수를 사용하여 표준 출력을 할 수 있습니다. 이 함수는 전달받은 인자를 문자열로 변환하여 표준 출력 장치(보통은 화면)에 출력합니다.

print("Hello, Python!")


에러 메시지나 진단 정보는 표준 에러 출력 장치를 통해 출력하는 것이 일반적입니다. 파이썬에서는 ‘print()’ 함수의 ‘file’ 인자를 ‘sys.stderr’로 설정하여 이를 수행할 수 있습니다.

import sys

print("This is an error message!", file=sys.stderr)

파일을 통한 입력과 출력 처리

파이썬에서는 ‘open()’ 함수를 사용하여 파일을 열고, 이를 통해 파일로부터 입력을 받거나 파일에 출력을 할 수 있습니다. ‘open()’ 함수는 파일명과 파일 열기 모드를 인자로 받아, 해당 파일과 연결된 파일 객체를 반환합니다.

# 파일에서 입력 받기
with open("input.txt", "r") as file:
    content = file.read()
    print(content)

# 파일에 출력하기
with open("output.txt", "w") as file:
    file.write("Hello, Python!")

이런 식으로 ‘with’ 구문을 사용하면 파일 처리 작업이 끝난 후 자동으로 파일을 닫아줍니다.

명령행 인자 처리

파이썬 프로그램은 사용자로부터 명령행 인자를 받아야 할 때가 있습니다. 이를 위해 파이썬은 ‘sys’ 모듈의 ‘argv’ 변수를 제공합니다. ‘argv’는 명령행 인자들이 저장된 리스트입니다. 첫 번째 원소는 실행되는 스크립트의 이름이고, 그다음 원소부터는 순서대로 인자들이 저장됩니다.

예제 1

# py_01.py
import sys

args = sys.argv[1:]
for i in args:
    print(i)

위의 예제는 명령행 인자를 하나씩 출력하는 간단한 프로그램입니다.


▼ 실행 결과

명령행 인자를 하나씩 출력하는 프로그램 예시 결과 화면입니다.

예제 2

# py_02.py
import sys

args = sys.argv[1:]
for i in args:
    print(i.lower(), end=' ')

이번에는 명령행 인자를 모두 소문자로 변환하여 출력하는 프로그램입니다.


▼ 실행 결과

명령행 인자를 하나씩 출력하는 프로그램 예시 결과 화면입니다.


☞ 이렇게 파이썬에서는 다양한 방법으로 프로그램의 입력과 출력을 처리할 수 있습니다. 프로그램의 요구사항에 따라 적절한 방법을 선택하여 사용하시면 됩니다.

참고 문서


이 글이 도움이 되셨다면 공유를 부탁 드립니다. 다음 글에서 뵙겠습니다!

위로 스크롤