memostack
article thumbnail
블로그를 이전하였습니다. 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")

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!