-
(24)Python_파일 입출력 라이브러리Python 2023. 3. 14. 17:23728x90
파일 읽기 및 저장하기
- 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