02 사용자 입출력
사용자의 입력을 받는 방법과 출력하는 방법을 알아보자.
02-1 input
- 사용가 입력한 값을 어떤 변수에 대입하고 싶을 땐 input을 사용한다.
- input은 입력되는 모든 것을 문자열로 취급한다.
- input의 괄호 내에 원하는 문자열을 넣을 수 있다.
예시를 보자.
>>> number = input("숫자를 입력하세요:")
숫자를 입력하세요:3
>>> print(number)
3
*파이썬 대화형 인터프리터(Python 3.9 64-bit))에서 실행했다.
02-2 print
- 값을 출력하는 print는 다양하게 사용할 수 있다.
- 큰따옴표(")로 둘러싸인 문자열은 +연산과 동일하다.
- 문자열 띄어쓰기는 콤마로 한다.
- 한 줄에 결괏값을 출력할 땐 매개변수 end를 사용한다.
예시를 보자.
#print
print("큰따옴표(\")로 둘러싸인 문자열은 +연산과 동일하다.")
print("Life""is""too short")
print("Life"+"is"+"too short\n")
print("문자열 띄어쓰기는 콤마로 한다.")
print("Life","is","too short\n")
print("한 줄에 결괏값을 출력할 땐 매개변수 end를 사용한다.")
for i in range(10):
print(i, end='')
03 파일 읽고 쓰기
파일을 통한 입출력 방법을 알아보자.
03-1 파일 생성하기
파일을 생성할 땐 파이썬 내장 함수 open을 사용한다.
형태는 다음과 같다.
파일 객체 = open(파일 이름, 파일 열기 모드)
예시를 보자.
#file
f = open("새파일.txt", 'w')
f.close()
- 원하는 디렉터리에 파일을 생성하고 싶다면 파일 이름 앞에 경로를 적어준다(예) "C:/doit/새파일.txt").
- 파일 열기 모드에 있는 'w'는 쓰기 모드를 의미한다.
- 프로그램을 종료할 때 파이썬 프로그램이 열려있는 파일 객체를 자동으로 닫아주지만 오류를 방지하기 위해 close()를 사용해서 닫아주는 것이 좋다.
파일 열기 모드의 종류
r | 읽기 모드 - 파일을 읽기만 할 때 사용 |
w | 쓰기 모드 - 파일에 내용을 쓸 때 사용 |
a | 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용 |
* 파일을 쓰기 모드로 열면 해당 파일이 이미 존재할 경우 원래의 내용이 모두 사라지고 새로운 파일이 생성된다.
03-2 파일 쓰기 모드로 출력 값 적기
파일을 열어 출력 값을 직접 써보자.
#file_writedata
f = open("새파일.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" %i
f.write(data)
f.close()
for문을 사용해 데이터를 파일에 저장했다.
파일은 명령 프롬프트(cmd)에서 확인할 수 있다. 명령 프롬프트에서 파일이 저장된 경로로 이동한 뒤 '새파일.txt'를 입력했다.
03-3 파일 읽기
외부 파일을 읽는 방법은 세 가지가 있다(readline, readlines, read)
| readline함수 사용하기
- readline을 사용하면 가장 첫 번째 줄이 화면에 출력된다.
- 모든 줄을 출력하고 싶은 경우 무한 루프를 사용한다.
예시를 보자.
#file_readline
f = open("새파일.txt", 'r')
line = f.readline()
print(line)
"""
모든 줄을 읽고 싶은 경우
while True:
line = f.readline()
if not line: break
print(line)
"""
f.close()
| readlines 함수 사용하기
readlines는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다.
예시를 보자.
#file_readlines
f = open("새파일.txt", 'r')
lines = f.readlines()
print(lines)
for line in lines:
print(line)
f.close()
| read 함수 사용하기
read는 파일의 내용 전체를 문자열로 돌려준다.
#file_read
f = open("새파일.txt", 'r')
data = f.read()
print(data)
f.close()
03-4 파일에 새로운 내용 추가하기
- 쓰기 모드('w')로 파일을 열면 그 파일의 내용이 모두 사라진다.
- 원래 데이터를 유지하면서 새로운 데이터를 추가할 땐 추가 모드('a')를 사용한다.
예시를 보자.
#file_adddata
f = open("새파일.txt", 'a')
for i in range(11, 20):
data = "%d번째 줄입니다\n" %i
f.write(data)
f.close()
추가 모드를 사용해 "새파일.txt"에 데이터를 추가했다.
f.read()로 파일을 읽은 모습이다. 기존의 데이터는 유지한 채 데이터가 추가된 것을 확인할 수 있었다.
03-5 with문
- 파일을 항상 f.clsoe()로 닫아주는 것이 번거로울 땐 with문을 사용할 수 있다.
- with문은 with블록을 벗어나는 순간 열린 파일 객체를 자동으로 닫아준다.
두 예시를 비교해보자.
#file_before_with
f = open("foo.txt", 'w')
f.write("Life is too short, you need python")
f.clsoe()
#file_after_with
with open("foo.txt", 'w') as f:
f.write("Life is too short, you need python")
이 글은 책 『Do it! 점프 투 파이썬』을 읽은 후 작성한 글입니다.
'Programming > Python' 카테고리의 다른 글
Do it! 공부단 6일차 | ch05 파이썬 날개달기_모듈 (0) | 2021.03.22 |
---|---|
Do it! 공부단 5일차 | ch05 파이썬 날개달기_클래스 (0) | 2021.03.18 |
Do it! 공부단 4일차 | ch04 프로그램의 입력과 출력_함수 (0) | 2021.03.10 |
Do it! 공부단 3일차 | ch03 제어문_while문과 for문 (2) | 2021.03.05 |
Do it! 공부단 3일차 | ch03 제어문_if 문 (0) | 2021.03.04 |