[파이썬 입문] 입출력
프로그램은 알아서 실행되는게 아니라 사용자가 뭔가 입력하는걸 받아서 실행되는 경우가 많아유
이때 사용되는 예약어가 input("출력할 문구")이고 컴퓨터는 입력받은 값은 무조건 문자열로 인식해유
이해를 돕기 위한 간단한 예시 보셔유
>>> x = input("아무거나 써주세유~ : ")
아무거나 써주세유~ : 123
x
'123'
프로그램 내부에서 입력받고 출력하는 경우도 있지만 또 흔히 사용되는 방법으로는 파일로 입력, 출력하는 경우에유
쓰고 읽기 위해서는 파일을 먼저 열어야겠쥬?
open('파일경로/파일이름.확장자', '모드')와 같은 방식으로 명령하면 돼유
닫을때는 간단하게 f.close()로 명령해유 차아아암 쉽쥬?
참고로 파일경로를 생략하면 코딩된 파일과 동일한 경로에 생성돼유
open에서의 모드는 아래 표를 참고하세유
r | read, 읽기 모드 |
w | write, 쓰기 모드 (덮어씀) |
a | add, 추가 모드 (이어씀) |
파일을 열었으면 써야겠쥬?
화면에 출력은 print(모든 자료형), 파일에 쓰기는 write(★문자열 인수)
어떤 식으로 적용되는지 예시를 통해 알아봐유
>>> a = open('C:/Users/계정명/Desktop/output.txt', 'w') #output.txt 바탕화면에 생성 후 열기
>>> for i in ['1\n', '2\n', '3\n', '4\n', '5\n']:
... a.write(i\n)
...
>>> a.close()
이렇게 입력하고 output.txt 파일을 열어보면
1
2
3
4
5
가 파일에 입력된걸 확인할 수 있어유
쓰기를 했으니 파일에서 읽어오는 법도 알아야겠쥬?
쓰기에 사용되는 함수는 read(), readline(), readlines() 세 가진디유
read는 파일 전체, readline은 한 줄, readlines는 여러 줄을 반환하고,
readline과 read는 문자열을 반환하고, readlines는 리스트를 반환한다는 차이가 있어유
함수를 여러 번 사용하면 이미 읽어온 문자열 다음 문자열이 나오니 알아두세유
그래서 파일을 닫았다 열지 않으면 제대로 읽어지지 않아유
예시 보셔유
>>> a = open('C:/Users/계정명/Desktop/output.txt', 'r') #output.txt를 읽기 모드로 열기
>>> print(a.read())
1
2
3
4
5
>>> print(a.readline()) #이미 read로 다 읽어와서 None 반환
>>> a.close()
>>> a = open('C:/Users/계정명/Desktop/output.txt', 'r')
>>> print(a.readline())
1
>>> print(a.readline())
2
>>> print(a.readlines())
['3\n', '4\n', '5\n']
예시를 보고 이해가 어렵다면 꼭 Shell이나 py파일로 코딩해서 실행시켜보세유!!!
이제 마지막으로 파일입출력을 간략화 할 수 있는 with문이에유
with문을 사용하면 close() 없이도 파일을 닫을 수가 잇구먼유
>>> with open('C:/Users/계정명/Desktop/output.txt', 'w') as a :
... a.write('입출력 끝')