파이썬 파일모드(파일 읽기,쓰기,추가)
- Python/기초
- 2022. 8. 23.
파이썬을 통해 파일을 저장하거나 불러올 때 파일 모드에 알고 있다면 보다 편리하게 파일을 저장,불러오기를 할 수 있습니다. 그전에 파일의 형태인 바이너리 모드와 아스키 모드를 먼저 짚고 넘어가겠습니다.
아스키 /바이너리 모드
파일의 형태는 크게 아스키 모드와 바이너리 모드로 되어있습니다. 아스키 모드는 텍스트 편집기(메모장, 한글 등)를 통해 파일의 내용을 확인할 수 있는 파일을 의미하고 그렇지 않은 파일들을 바이너리로 여기시면 됩니다.
쉽게 말해, 그림파일을 텍스트 편집기에서 텍스트 형태로 불러오면 안 불러지거나 이상한 문자들로 구성되어서 있는 걸 확인할 수 있습니다. 이런 경우 바이너리 파일이라고 생각하면 됩니다.
바이너리의 형태를 생각하면 파이썬에서는 바이너리 모드로써 불러야 하는 것이 있고 아닌 것이 있음을 알 수 있습니다. 이를 잘 구분해서 파일을 가져와야 합니다. 또한, 파일을 만들때도 어떤 형태로 저장할지 정할 수 있습니다.
파이썬 파일모드
파일모드는 읽고(r) 쓰고(w) 추가(a) 로 크게 세가지 나뉩니다. 여기에 바이너리(b)가 추가됩니다. 애초에 파일을 열때에 어떤 모드로 할 것인지 정해놓으면 됩니다. 파이썬 내장함수인 open()함수를 써서 살펴보겠습니다.
open()함수는 파일경로와 파일모드를 파라미터로 합니다.
읽기(r) 모드
파일을 읽기 모드로 불러옵니다. 파일이 없으면 에러가 발생합니다.
f = open('test.txt','r')
쓰기(w) 모드
파일을 쓰기 모드로 불러옵니다. 파일이 없으면 생성합니다.
주로 파이썬내에서 새로운 파일을 만들 때 사용합니다.
w를 입력하면 텍스트 파일의 맨 앞쪽에 텍스트 포인터가 배치되어 있습니다. 그래서 기존 파일이 있는 경우 덮어쓰기로 되어 버립니다.
f = open('test.txt','w')
추가(a) 모드
파일을 추가 모드로 불러옵니다. 파일이 없으면 이 역시 생성합니다. 하지만 기존 파일이 있다면 텍스트 포인터가 맨 마지막에 위치해서 w처럼 덮어쓰지 않고 텍스트를 추가할 수 있습니다.
f = open('test.txt','a')
+ 덧붙이기
+는 만능키라고 볼 수 있습니다.
r,w,a에 +를 추가하면 읽기 쓰기 기능을 함께 쓸 수 있습니다.
예를 들어, r+로 입력하면 읽기 쓰기가 모두 가능합니다.
w+는 텍스트 포인터가 맨앞으로 가고 읽기 쓰기가 가능합니다.
a+는 텍스트 포인터가 맨 뒤로 가고 읽기 쓰기가 가능합니다.
f = open('test.txtx','r+')
바이너리 모드
바이너리 모드로 된 것을 저장, 불러오기를 하려면 b를 덧붙입니다. 예를 들어, rb+를 한다면 읽기+쓰기+바이너리가 가능합니다. wb+, ab+ 모두 가능합니다.
f = open('test.txt','rb+')
x 모드
모드를 x로 한다면 파일이 이미 있는 경우 요청실패로 에러가 뜹니다.
f = open('contents.txt','x')
w나 a 모드로 무심코 파일을 지울 수 있는데 그러기 전에 확인하는 절차로 하면 유용합니다.
새로운 파일인 경우 쓰기모드로 불러집니다.
확실하게 새로운 파일에 쓰려면 x모드를 쓰는 걸 추천합니다.
마치며
파이썬 파일모드에 대해 알아보았습니다.
파이썬에서 open 함수로 파일 저장,불러오기를 할 수 있는 곳이면 어느곳이든 쓸 수 있습니다. 또는 파일모드를 사용할 수 있는 모듈인 경우에도 가능합니다. 저장, 불러오기에 대한 자세한 내용은 관련포스팅에서 살펴보시기 바랍니다.
'Python > 기초' 카테고리의 다른 글
파이썬 문자열 공백 없애기 (0) | 2022.11.14 |
---|---|
[Python] 리스트 csv로 저장,불러오기 (0) | 2022.08.27 |
아나콘다 설치하기(리눅스 우분투) (0) | 2022.07.14 |
[Python] 리스트 각 원소 타입 바꾸기 (0) | 2022.04.30 |
마크다운 사용방법(jupyter) (0) | 2022.04.29 |