파이썬 공부중/파이썬 중급

파이썬 중급 05. 파일 읽고 쓰기

책다니엘 2024. 2. 10. 06:24

1. open(), read(), write(), close()를 이용해 파일의 내용을 열고, 읽고, 쓰고, 닫을 수 있다.

import time

lt = time.localtime()
dateStr = f'[{lt.tm_year}년 {lt.tm_mon}월 {lt.tm_mday}일]'

todaySchedule = input('오늘 일정: ')

file = open('C:/Users/Python/pycharm/pythonProject/005/test2.txt','w', encoding='UTF-8')
# encoding = 'UTF-8'옵션을 추가해주지 않으면 깨져서 입력된다
# 'w'는 쓰기 모드
# 'r'는 읽기 모드, 파일이 없으면 에러가 난다

file.write(dateStr + todaySchedule)
file.close()

 

 

2. 파일의 열기 모드는 파일을 어떻게 open할지 정한다.

'w' : 쓰기 전용(파일이 있으면 덮어씌운다)
'a' : 쓰기 전용(파일이 있으면 덧붙인다)
'x' : 쓰기 전용(파일이 있으면 에러 발생)
'r' : 읽기 전용(파일이 없으면 에러 발생)

 

 

3. with ~ as 문을 이용하면 파일 닫기(close())부분을 생략할 수 있다.

# 첫번째 방법
file = open(uri + 'test2.txt','a', encoding='UTF-8')
file.write('Hello World!\n')

file.close()


# 두번째 방법
with open(uri + 'test2.txt', 'a', encoding='UTF-8') as f:
    f.write('Hello World!\n')

 

 

4. writelines()는 리스트(list) 또는 튜플 데이터를 파일에 쓰기 위한 함수이다.(하나의 문자열로 붙여서 표시한다.)

5. writelines()를 사용할 때 개행하기 위해서는 for문을 사용한다.

languages = ['java', 'python', 'c++', 'c#', 'javascript']

with open(uri + 'test2.txt', 'a', encoding='UTF8') as f:
    f.writelines(item + '\n' for item in languages)

 

 

6. readlines()는 파일의 모든 데이터를 읽어서 리스트(List)형태로 반환한다.

7. readline()는 파일의 한 행을 읽어서 문자열로 반환한다.