파이썬 정리 5장

신범철·2021년 6월 12일
0

21-1파이썬수업

목록 보기
4/6

파일 처리

  1. 파일을 연다. - open()
  2. 파일을 읽거나 쓴다. - read()/write()
  3. 파일을 닫는다.


open() 함수의 node 인수로 줄수 있는값
w : 쓰기모드
r : 읽기모드(기본값)
a : 쓰기모드로 저장되어있는 파일에 뒤부분에 이어서 씀
b : 바이너리 모드
t : 텍스트 모드
파일을 릭거나 쓸때 오류가 발생할 경우가 큼으로 try.. finally 사용

with문으로 try finally 대체가능

마지막에 자동으로 close해줌

한행씩 읽을 때의 장점

  • 컴퓨터는 언제나 프로그램을 메모리에 읽어 들인 후에 동작
  • 따라서 메모리에 기록할 수 있는 양 한정
  • read를 사용하면 모든 데이터를 메모리에 읽는다.(너무커서 오류발생할수 있음)
  • 그러나 한행씩 읽고 처리하면 커도 오류가 나지 않는다.

json모듈을 이용해 json파일 읽고 쓰기

json.dumps(obj) : 오브젝트(obj)를 json문자열로 변환
json.load(json) : json문자열을 파이썬 오브젝트로 변환
json.dump(obj,fp) : 오브젝트(obj)를 json형으로 파일(fp)에 저장
json.load(fp) : json형 파일 fp에서 데이터를 읽음

정규표현

  • 정규표현이란 패턴을 사용해 문자열을 표현하는 것
  • 정규표현은 문자열 검색이나 치환작업에 강함
  • 정규표현에서 일반적인 문자와 함께 메타 케릭터라는 특수 문자를 사용해 문자열 패턴을 표현

정규표현식을 사용할 때는 r"...문자열...." 이런식으로 사용해야함
정규표현식에서 사용 되는 백슬래시는 특수한 기호인데 그냥 문자열로 사용하면 백슬러시가 먹어서 충돌
r"....문자열..."(raw string)을 사용하면 백슬래시 무효화 가능

ex) 영어 문자에서 숫자값을 검색하는 정규표현

re모듈의 가용가능한 메서드

자주 사용하는 문자 클래스

Dot(.) = \n을 제외한 모든 문자와 매치
a.b = "a + 모든문자 + b"
a[.]b = "a + Dot(.)문자 + b"
ca*t = c + a가 0개 이상반복 + t
ca+t = c + a가 1개 이상반복 + t
{m,n} = m이상 n이하반복
? = {0,1}

최소 단위 반복

  • 일반적으로 정규표현에서는 '최장일치' 원칙을 기본으로함
    -이것은 매칭시키는 부분을 가능한 길체 찾는다는 의미

단어를 선택하는 '|'
임의의 단어를 선택할 때(hoge|fuga)처럼 표현

리스트 내장 표기

  • 리스트 내장 표기
  • 집합형(set) 내장 표기
  • 딕셔너리(dict) 내장 표기
  • 제너레이터 식

데코레이터

데코레이터란 함수를 장식하는 기능으로 함수에 부가기능을 추가할 수 있음
함수의 앞뒤에 임의로 처리할수 있음
함수 정의:

데코레이터는 언제 사용하는 것이 좋을까?

  • 프로그램의 로그를 표시할때
  • 웹사이트에서 데이터를 얻어내는 함수가 있다고 가정할때, 해당 사이트에 있는 데이터를 이미 가져온 해당 데이터를 캐시에서 가져오기 기능과 캐시가 없으면 사이트에서 데이터를 가져오는 기능을 갖춘 데코레이터를 만들수있음(로그인 유지)
profile
https://github.com/beombu

0개의 댓글