[udemy] python 부트캠프_section24_파일 읽고 쓰기

Dreamer ·2022년 9월 11일
0

01. 파일 읽고 쓰기

file = open("my_file.txt") 
contents = file.read(
file.close()
  • "with" 기능 없이 파일을 단순히 연다면, 마지막에 file.close()를 해주어야 함.
  • file을 open 하면 컴퓨터의 resource를 잡아먹으므로, 작업이 끝난 후, close()를 해주어야 함.
  • 이러한 행위를 하지 않기 위해 "with" 기능을 사용함. "with"가 직접 파일을 관리하기 때문에, 작업이 끝난 직후 파일을 자동으로 닫아줌.
with open("my_file.txt", mode = "r") as file:
     contents = file.read()
     print(contents)

#예전 내용 지우고, New text만 남기기 (write)
with open("my_file.txt",mode="w") as f:
    f. write("New text.") 


# 예전 내용 살려두고 내용 추가하는 법 (append)
with open("my_file.txt",mode="a") as f:
    f. write("\nadd text.")
  • mode = "r" : 읽기 전용
  • mode = "w" : 읽고 쓰기, 에전 내용을 지우고, 새로 쓰는 것
  • mode = "a" : 읽고 쓰기, 예전 내용 살려두고, 새로운 내용 추가하는 것
  • 만약, 파일을 쓰려고 하는데 파일이 존재하지 않는다면 파이썬은 자동으로 파일을 생성한다.

02. 상대 및 절대 파일 경로

  • 절대 파일 경로(Absolute File Path) : root를 기준으로 파일 경로를 작성한다. 맥은 매킨토시 HD가 됨.
  • 다만, root를 굳이 입력할 필요 없고, "/" 맨 앞에 작성해주면 된다.
  • 상대 파일 경로(Relative File Path) : working directory를 기준으로 시작함. 같은 폴더에 존재하는 파일에 접근하려면 ./file.txt 이런식으로 작성됨. "./" 는 삭제 가능하다.
  • 만약 상위 폴더로 접근하려면 "../" 작성해야 함. "../" 는 부모 폴더로 가는 계층 구조에서 한 단계 위로 가라는 의미이다.
# Absolute File Path
with open("/Users/users/Desktop/my_file.txt") as file:
    contents = file.read()
    print(contents)

# Relative File Path
with open("../../Desktop/new_file.txt") as f:
    con = f.read()
    print(con)

03. 유용한 methods

04. mailing systems

PLACEHOLDER = "[name]"

with open("./Input/Names/invited_names.txt") as names_file:
    names = names_file.readlines()

with open("./Input/Letters/starting_letter.txt") as letter_file:
    letter_contents = letter_file.read()
    for name in names:
        stripped_name = name.strip()
        new_letter = letter_contents.replace(PLACEHOLDER, stripped_name)
        with open(f"./Output/ReadyToSend/letter_for_{name}.txt", mode = "w") as completed_letter:
            completed_letter.write(new_letter)
profile
To be a changer who can overturn world

0개의 댓글