1. 파일 읽어보기 2. 읽기 모드에 관하여3. 파일 쓰기4. 파일 읽기4.1 readline( )4.2 readlines( )4.4 read( )5. 내용 수정6. 파일 생성과 내용 추가를 동시에
1. 파일 읽어보기
먼저 알아볼 것은 파이썬으로 파일을 읽고(read) 쓰는(write) 것입니다. colab에서 실행해 보도록 하겠습니다.
f = open('python.txt', 'w') # r, w, a f.close()
실행해보면 colab 화면 좌측에 python.txt라고 텍스트 파일이 생성된 것을 볼 수 있습니다.

파이썬의 파일을 생성할 때 open( )이라는 내장함수를 사용합니다. 이 때 생성할 파일의 이름과 파일 모드를(읽기, 쓰기, 추가하기) 같이 입력해 주어야 합니다.
2. 읽기 모드에 관하여
f = open('python.txt', 'w') # r, w, a f.close()
위와 같이 f = open("열어볼 파일 명+확장자명", '원하는 읽기모드')와 같은 형식으로 나타냅니다. 모드에는 다음과 같은 것들이 존재합니다.
3. 파일 쓰기
방금 생성된 'python.txt' 파일을 더블클릭하여 보면 빈 파일이라는 사실을 알 수 있습니다. 내용을 넣지 않고 생성만 했기 때문인데요. 이번에는 파일을 쓰는(write) 방법에 대해 알아보겠습니다.
f = open('python.txt', 'w') s = '' for i in range(1, 6): s += f'{i}명 참여 중입니다. \n' f.write(s) f.close()
파일을 다시 더블클릭하여 열어보시면 좀 전에는 없던 내용이 새로 생성이 되어 있는 것을 볼 수 있습니다.

4. 파일 읽기
파일을 읽는 방법에는 4가지 방법이 있습니다.
4.1 readline( )
readline( ) 함수를 이용하여 방금 생성한 파일을 일어보도록 하겠습니다.
f = open('python.txt', 'r') while True: line = f.readline() if not line: break print(line) f.close()
그 다음 실행해 보면 아래와 같이 출력되는 화면을 볼 수 있습니다. 개행이 2줄씩 된 것은 뒤에 설명해 드리도록 하겠습니다.

4.2 readlines( )
readline( )은 파일의 텍스트 한 줄을 출력해 줄 뿐이지만, readlines는 전체 라인을 읽어옵니다.
f = open('python.txt', 'r') lines = f.readlines() for line in lines: print(line) f.close()
실행 결과는 아래와 같습니다.

4.4 read( )
read 함수를 사용하면 파일의 전체 내용을 읽어올 수 있습니다.
f = open('python.txt', 'r') data = f.read() print(data) f.close()
그 후 콘솔창에서 확인해 보시면 더 간단한 방법으로 파일 전체를 읽어본 것을 확인할 수 있습니다.

위에서 작성했던 코드도 개행이 한 줄만 되도록 아래와 같이 수정이 가능합니다. 개행이 2번 되었던 이유는 print 함수가 이미 개행 옵션을 가지고 있기 때문입니다.
f = open('python.txt', 'r') lines = f.readlines() for line in lines: print(line, end='') f.close()
5. 내용 수정
다음은 이미 생성된 파일에 내용을 수정하는 방법입니다.
f = open('python.txt', 'a') s = '' for i in range(6, 11): s += f'{i}명 참여 중입니다. \n' f.write(s) f.close()
실행시킨 후 파일을 다시 열어보시면 아래와 같이 파일에 텍스트가 추가된 것을 볼 수 있습니다.

6. 파일 생성과 내용 추가를 동시에
위에서 파일을 생성하고 그 파일에 텍스트를 쓰는 방법에 대해 배웠습니다. with문을 사용하면 open과 close를 한꺼번에 할 수 있습니다. 다음과 같이 입력해봅시다.
with open('test.txt', 'w') as f: f.write('Life is too short, you need python')
생성된 test.txt 파일로 들어가면 텍스트가 포함되어 있는 것을 알 수 있습니다.
