2주 : day8

daye·2023년 3월 10일

달성한 목표

강의 : ~중급39, 퀴즈2
수정된내용 : 중급문풀 강의는 내일로 미루고 for, while 문 예제 연습 및 중급 강의 전체 복습

정리할 파트

강의 : 중급 31~39 요약

33 사용자 예외 클래스

  • exception 클래스를 상속해서 사용자 예외 클래스를 만들 수 있다.

34 텍스트 파일 쓰기

텍스트 파일 다루는 기본 함수

open()
read()
write()
close()

write() 함수

  • 저장할 디렉토리(폴더) 주소를 복사하여 가져온다.
  • open()함수에 위치/파일명, 모드 순으로 입력
    (주소를 복사한 후 바로 붙여넣기를 하게되면 역슬래쉬\로 붙여넣어지는데, 꼭 슬래쉬/로 바꾸어 입력해야 한다.)
open('C:/pythonTxt/test.txt', 'w')
  • w 모드일 경우
    : 해당 디렉토리에 test.txt 파일이 있으면 해당 파일을 불러오고, 없으면 test.txt 파일을 새로 생성하여 불러옴
    : w 모드에서 입력할 경우 기존에 있던 글은 전부 사라지고 w 모드로 입력한 것만 남는다.
  • r 모드일 경우
    파일이 없는데 불러오게되면 에러가 생김.

35 텍스트 파일 읽기

open('C:/pythonTxt/test.txt, 'r')

시간 호출 모듈

import time

lt = time.localtime()
dateStr = ‘[‘ + time.strftime(%Y-%m-%d %H:%M:%S %p’) + ‘]’

file = open(‘C:/pythonTxt/test.txt’, ‘w’)
file.write(dateStr)
file.close()
  • 이후, 텍스트 파일에서 오른쪽과 같이 뜸. : [2021-09-23 11:01:10 AM]
  • strftime을 입력할 때 대소문자 구별 필수.
    : %H 대신 %I를 사용하면 '21'시라고 뜨던 것이 '9'시로 바뀜.

인코딩 문제가 생길 때

  • 실행문 괄호 내에 우측 문구를 넣어 준다. : , encoding=UTF8

replace() 함수

바꿀 문구가 들어있는 대상.replace('바꾸고 싶은 문구', '바꿀 문구', 바꾸고 싶은 문구 갯수)

36 텍스트파일 열기 모드

파일 모드 종류

: 파일 모드는 파일을 어떤 목적으로 open 할지 정한다.

  • ‘w’ : 쓰기 전용(파일이 있으면 덮어씌움)
  • ‘a’ : 쓰기 전용(파일이 있으면 덧붙임)
  • ‘x’ : 쓰기 전용(파일이 있으면 에러 발생)
  • ‘r’ : 읽기 전용(파일이 없으면 에러 발생)

*** 소수 구하는 실행문 작성 다시 공부하기

37 with ~ as 문

: 이를 이용하면 파일 닫기(close)를 생략할 수 있다.

file = open(uri + '5>037.txt', 'a')
file.write('python study!')
file.close()
with open(uri + '5>037.txt', 'a') as f:
	f.write('python study!')

38 writelines()

: 리스트[] 또는 튜플() 데이터를 파일에 쓰기 위한 함수
: 이 함수는 반복문(for문)이 필요 없음. 내부적으로 처리가 되어 있다.

languages = ['a', 'b', 'c']

uri = 'C:/pythonTxt/'
for item in languages:
	with open(uri + 'languages.txt', 'a') as f:
    	f.write(item)
        f.write('\n')
uri = 'C:/pythonTxt/'
with open(uri + 'languages.txt', 'a') as f:
	f.writelines(item + '\n' for item in languages)

39 readlines(), readline()

: 여러줄 읽기와 한줄 읽기

readlines()

: 파일의 모든 데이터를 읽어서 리스트 형태로 반환한다.

readline()

: 한 행을 읽어서 문자열로 반환한다.

0개의 댓글