블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
1. 파일 다루기
파이썬에서는 파일을 다룰때, open()
메소드를 사용한다.
1.1. 파일 쓰기
파일을 쓸 때는 "w"
(Write) 를 사용한다. (아래 코드 참고)
dest = "/Users/taehongkim/Desktop/test.txt"
try:
f = open(dest, "w") # 파일을 쓸 때는 "w" 옵션을 사용한다.
f.write("Hello, World!") # 파일의 내용
finally:
f.close() # 작업이 끝나면 `close()` 를 통해 리소스를 해제해준다.
close()
메소드를 통해 파일 리소스를 해제해준다.
파일을 작성하는 도중 오류가 발생할 가능성이 있기 때문에 try-finally
를 이용하여 close()
가 반드시 실행될 수 있도록 한다.
위 방법처럼 작성하는 것은 매우 불편하다. 파이썬에서는 이를 위해 with
문을 제공해준다.
파이썬의 with
문을 사용하면, 오류가 발생하더라도 try-finally
없이도 close()
를 호출해준다.
dest = "/Users/taehongkim/Desktop/test.txt"
with open(dest, "w") as f:
f.write("Hello, World!")
1.2. 파일 내용 추가하기
파일 내용을 추가할때는 "a"
(Append) 를 사용한다.
dest = "/Users/taehongkim/Desktop/test.txt"
with open(dest, "a") as f:
f.write("\nHello, Python!")
1.3. 파일 읽기
파일을 읽을때는 "r"
(Read) 를 사용한다.
dest = "/Users/taehongkim/Desktop/test.txt"
with open(dest, "r") as f:
print(f.read())
Hello, World!
Hello, Python!
2. 이미지 다루기
이미지를 저장할때는 바이트(byte
)로 써야 한다. 바이트 옵션은 "b"
를 사용한다.
2.1. 이미지 쓰기
"w"
와 "b"
를 같이 사용한다.
dest = "/Users/taehongkim/Desktop/test.png"
with open(dest, "wb") as f:
f.write(byte_string)
2.2. 이미지 읽기
"r"
과 "b"
를 같이 사용한다.
dest = "/Users/taehongkim/Desktop/test.png"
with open(dest, "rb") as f:
print(byte_string)
print() 로 찍어봤자 바이트 코드라서 알아보지도 못함. (하지말자)
3. 결론
파일
- 쓰기: "w"
- 내용 추가: "a"
- 읽기: "r"
이미지
- 쓰기: "wb"
- 내용 추가: "ab"
- 읽기: "rb"
encoding 속성을 이용하여 문자 인코딩을 정할 수 있음
- 예:
open(dest, "w", encoding="utf-8")
반응형
'Language > Python' 카테고리의 다른 글
python으로 qrcode 생성기 만들기 (0) | 2020.08.08 |
---|---|
Python3 문자열에서 특정 문자열 찾기 (0) | 2020.04.12 |
파이썬 스레드(Thread) 특징과 GIL (0) | 2020.04.10 |
파이썬의 정렬 알고리즘 sort(), sorted() (2) | 2020.03.25 |
zipfile 모듈로 압축하기 (0) | 2020.03.10 |