ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (24)Python_파일 입출력 라이브러리
    Python 2023. 3. 14. 17:23
    728x90

    파일 읽기 및 저장하기

    • fileinput

    1-1. fileinput

    • 텍스트 파일을 읽고, 쓰고, 저장하는 기능을 편리하게 사용할 수 있도록 해주는 라이브러리
    • 여러개의 파일을 읽어서 수정할 수 있음
    • 미리 경로 안에 step파일들을 만들어 두고 한다.

    • 각 파일의 첫번째 라인을 찾아 변경하기
    • 코드를 실행하면 미리 만들어둔 위의 파일과 안의 내용이 print()를 이용해 찍히게 된다.
    • 검색된 라인 변경하기
    • 파일 안의 내용이 첫번재 라인입니다 라면 1번째 라인입니다로 변경해준다.

    • 키워드 포함 라인 변경하기
    • 키워드 '줄' 이 있다면 첫번째 줄입니다로 출력해준다.

    저는 if '라인도' 해주어서 다 바뀌었습니다.

    • 텍스트 치환하기
    • 첫번째 가 나오면 두번째로 바꾸어준다.

    1-2. pickle

    • 파이썬에서 사용하는 딕셔너리, 리스트, 클래스 등의 자료형을 변환 없이 그대로 파일로 저장하고 불러올 때 사용하는 모듈
    • dump()를 사용하여 파일 안에 입력하는 것이다.
    • load()를 이용해서 파일 내용을 읽어온다.

    • 이런식으로 파일이 만들어져 있는것을 확인할 수 있다.

    2. 파일 찾기, 복사, 이동하기

    2-1. 파일 확장자로 찾기

    • glob() 은 리스트 형태로 반환해주는 것이다.

    2-2. fnmatch

    • glob과 동일하게 특정한 패턴으로 따르는 파일명을 찾아주는 모듈
    • 파일명 매칭 여부를 True, False 형태로 반환하기 때문에 os.listdir()함수와 함께 사용

    2-3. shutil

    • 파일을 복사하거나 이동할 때 사용하는 내장 모듈

    3. 파일 압축

    3-1. 데이터 압축

    • 대용량 데이터 및 대량의 파일을 전송 시 , 전송 속도가 느리며 전송 문제가 발생할 가능성이 매우 높음
    • 데이터 압축의 종류
      • 손실 압축: 사람이 눈치채지 못할 수준의 정보만 버리고 압축하는 방법
      • 무손실 압축: 데이터 손실이 전혀 없는 압축
    • 압출률: 압축된 자료량(압축된 데이터 크기) / 원시 자료량(원래 데이터 크기)
    • 다양한 압축 알고리즘에 따라 압축 성능 및 시간이 좌우됨
    • 압축: 인코딩(Encoding)
    • 압축 해제: 디코딩(Decoding)

    3-2. zlib

    • 데이터를 압축하거나 해제할 때 사용하는 모듈
    • compres()와 decompress() 함수로 문자열을 압축하거나 해제
    • 데이터 크기를 줄여서 전송이 필요한 경우 사용

    3-3. gzip

    • 파일을 압축하거나 해제할 때 사용하는 모듈
    • 내부적으로 zlib 알고리즘을 사용

    3-4. zipfile

    • 여러개 파일을 zip 확장자로 합쳐서 압축할 때 사용하는 모듈

    3-5. tarfile

    • 여러개 파일을 tar 확장자로 합쳐서 압출할 때 사용하는 모듈

     

    'Python' 카테고리의 다른 글

    (26)Python_DAO, DTO, VO  (0) 2023.03.21
    (25)Python_폴더 관리 프로그램 실습  (0) 2023.03.14
    (23)Python_변수의 타입 어노테이션  (0) 2023.03.13
    (22)Python_클로저와 데코레이터  (0) 2023.03.13
    (21)Python_파일열기  (0) 2023.03.13

    댓글

Designed by Tistory.