Python

[Python] 파일 읽고 쓰기(+ 임시 디렉토리 및 파일 생성 방법)

balabala 2023. 5. 17. 21:43
728x90
SMALL

open() 함수를 이용한 파일 읽고 쓰기


  open() 함수는 파일을 열고 사용자가 파일을 읽기(read), 쓰기(write), 추가(append)를 위해 사용할 수 있는 파일 객체를 반환한다. open() 함수를 사용하여 파일을 열 때, 파일을 닫기 위해 close() 메소드를 꼭 호출해야 한다.
mode
r : 읽기 모드(read mode). 매개변수 기본값.
w : 쓰기 모드(write mode). 파일이 이미 존재하면 기존 내용이 삭제되고, 새로운 내용이 기록된다. 파일이 존재하지 않으면 새로운 파일이 생성된다.
a : 추가 모드(append mode). 파일의 끝에 내용을 추가하기 위해 엽니다. 파일이 이미 존재하면 기존 내용은 변경되지 않고, 추가된다. 파일이 존재하지 않으면 새로운 파일이 생성된다.
t : 텍스트 모드(text mode).
b : 이진 모드(binary mode). 파일을 이진 데이터로 연다. 이미지나 음악 파일과 같은 이진 파일을 읽거나 쓸 때 사용된다.
f = open('test.txt')
context = f.read()  # 파일 읽기
print(context)
f.close()

f = open('test.txt', mode='w')
f.write('hello world!') # 파일 쓰기
f.close()

with 문을 이용한 파일 읽고 쓰기


  with 문은 파일을 열고 사용한 후 자동으로 파일을 닫아주는 기능을 제공하며, with 문을 사용하면 파일을 열고 작업을 수행한 뒤, 블록이 끝나면 자동으로 파일을 닫아 준다. 이는 코드를 간결하고 실수를 줄이는 데 도움을 주며, with 문을 사용하면 예외가 발생하더라도 파일이 정상적으로 닫히도록 보장된다.
with open('test.txt') as f:
    context = f.read() # 파일 읽기
    print(context)

with open('test.txt', mode='w') as f:
    f.write('hello world hello python') # 파일 쓰기
SMALL

임시 디렉토리 및 임시 파일을 이용한 읽기 및 쓰기


  TemporaryDirectory() : with 문과 함께 사용되며, 임시 작업에 사용할 디렉토리를 생성한다. temp_dir 변수에 임시 디렉토리의 경로가 할당되며, with 블록을 벗어나면 해당 임시 디렉토리와 그 내부의 모든 파일과 하위 디렉토리가 자동으로 삭제된다.
with TemporaryDirectory() as temp_dir:
    print('temp dir path : ', temp_dir)

 

  TemporaryFile() : 기본적으로 이진 모드('w+b')로 파일을 열며, 텍스트와 이진 데이터 모두를 처리할 수 있다. 또한 with 문과 함께 사용되며, temp_file 변수에 임시 파일 객체가 할당된다. 파일에는 이진 데이터를 쓰고 읽는 등 다양한 작업을 할 수 있으며, with 블록을 벗어나면 해당 임시 파일은 자동으로 삭제된다.
with TemporaryFile(mode='w+') as temp_file:
    temp_file.write('hello temp')
    temp_file.seek(0)
    data = temp_file.read()
    print(data)
728x90
LIST