목차
- 입출력이란?
- 콘솔 입출력
- 입력받기:
input()
- 출력하기:
print()
- 입력받기:
- 파일 입출력
- 파일 열기:
open()
- 파일 읽기
- 파일 쓰기
- 파일 닫기
- 파일 열기:
- 예시 코드
- 결론
- 관련 자료 및 추가 학습 자료
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 공식 문서 - 파일 입출력: https://docs.python.org/3/tutorial/inputoutput.html
- Python 공식 문서 - Built-in Functions: https://docs.python.org/3/library/functions.html#input
국가기관 및 보고서
- NIST (국립 표준 기술 연구소) - Python 파일 입출력 가이드: NIST Publications
추천 도서
**블로그 및 기타
자료**
- Real Python - Working with Files in Python: https://realpython.com/working-with-files-in-python/
- W3Schools - Python File Handling: https://www.w3schools.com/python/python_file_handling.asp
이 글에서는 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 |